嵌入式jetty flex blazeds spring 程序討論(tomcat)

  嵌入式jetty flex blazeds spring 程序討論(tomcat)

  網上有一篇文章分析了Google爲什麼選擇了jetty作爲其雲計算的web容器,這篇文.嵌入式jetty flex blazeds spring 程序討論(tomcat) .章很容易找到,主要觀點認爲,jetty足夠輕巧,佔用資源少,執行速度快。更重要的一點是jetty可以作爲嵌入式的web容器使用(當前tomcat也可以作爲嵌入式的容器使用,但是使用方式比較複雜,效率也沒有jetty高)。與tomcat相比,jetty在功能上並不完善,有時你會認爲jetty會給你的編程帶來很多不便。所以我們要認真考慮使用哪種容器。下面的內容提到了使用tomcat和jetty交叉使用編寫flex程序,這主要考慮到使用tomcat會使編程過程容易,而使用jetty可以提供一個靈便的嵌入式容器。(jetty沒有成型的官方文檔,這很鬱悶)

  想法是這樣的,我希望編寫一組服務,這組服務需要一個圖形顯示的界面,當然可以考慮使用javax的swing組件編寫GUI,但是swing其自身的複雜度比較高,同時其執行效率也比較低,所以可以考慮當前比較流行的flex作爲GUI顯示。使用flex比較優秀的地方在於,可以通過瀏覽器訪問服務,同時flex也可以編寫桌面形式的GUI。Flex的語法很簡單,並且也採用java的風格,所以選擇flex做爲java服務的GUI,很明顯是一個不錯的選擇。但是flex與遠程服務端通信需要使用http服務容器,這時可選的容器很多,tomcat是一個比較優秀的容器,以前也經常使用,所以tomcat一般是首選。但是,我更希望是我的服務的配置更加簡單,並不期望用戶要多瞭解服務容器,服務程序能像普通的應用程序一樣,直接雙擊就能啓動執行服務,如果使用tomcat,就必須要求所以的服務端組件先安裝tomcat,然後將服務發佈到tomcat上。由於服務程序是面向網格和雲計算的,要求所有使用服務的客戶都安裝tomcat並理解tomcat的配置是不實際的。此時,jetty就派上用場了,jetty是一種可以嵌入式的web容器,輕量級,佔用資源少,使用簡便。所以使用jetty作爲flex的http容器更合理。另外,一般使用flex與java結合開發,會考慮使用spring框架技術,這樣簡化了很多處理。

  如果,使用flex+spring方式進行應用服務的開發,必然考慮使用Adobe公司提供的blazeds通信組件,blazeds能夠對遠程方法調用(RMI)或遠程對象進行封裝,簡化了flex與java程序間的複雜通信問題。儘管spring和blazeds對spring支持的非常好,但是他們與jetty的結合卻不是很令人樂觀。我查閱了大量資料,發現很少有人使用blazeds與jetty結合,甚至有人斷言blazeds根本不適合與jetty一起運行。這使我的初期想法陷入了困境。經過我不斷測試和調試,最終想出了一個辦法,可以繞過一些問題,最終達到我們的目的。

  首先給出一個在flex+spring+blazeds+tomcat的程序網址,這個程序的測試是我去年寫的,你可以查看網址:

  http://blog.sina.com.cn/s/blog_616e189f0100nbs4.ht ml

  您在查看下面的內容時,最好理解了上面網頁中提到的程序,因爲,下面的程序與上面的程序思路和原理都是相同的,我們不想花費更多的時間在細節上。

  下面我們就描述一下flex+spring+blazeds+jetty(嵌入式jetty)的一個測試程序

  文檔結構:

  

  實際上,在tomcat和jetty中配置服務時注意的是:

  1. Jetty不識別spring與blazeds相關的標記,你必須使用xml配置的方式來配置服務。

  2. 在flex中的內容修改後,你必須先關閉jetty服務,才能將修改內容反饋到jetty,tomcat則沒這個必要,主要是tomcat支持運行時動態更改。

  你可以在tomcat下編寫程序,然後再轉移到jetty下執行。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章