[CTBA宅物語]使用Jetty做本地的測試服務器

Jetty投入Eclipse懷抱了
今年1月,Webtide宣佈Jetty將要投入Eclipse基金會的懷抱。在Eclipse上已經創建好了Jetty項目
看在這個消息的份上,發一篇在草稿裏面積壓了一個多月的八卦。

作爲一個java粉絲,你可能知道tomcat,知道resin,但是可能你不知道jetty 。作爲一個低調的高性能java服務器,jetty目前還沒有在生產環境得到太廣泛的運用(
特別在我天朝用的人不多)。而最新的一期的 web 服務器調查 顯示, Jetty 服務器所佔比例正迅速的增長。 Jetty 在所有 web 服務器中佔據第十二名 , 在和 tomcat 相比時得到了 80% 的分數(意味着每 10 tomcat 部署就有至少 8 jetty 的部署)。 JBoss、JOnAS 這樣開源的 AppServer,還包括 WebLogic Business Connect 和 IBM Tivoli NetView 這樣的商業產品都內嵌了jetty。 

 

關於 jetty的優點:http://www.iteye.com/topic/408?page=3
關於jetty的license和性能: http://www.iteye.com/topic/775?page=1


扯談社CTBA 現在是跑在resin3.1.3上的,運行狀況良好。本來沒jetty什麼事,好像自從石百萬 受到大黑臉的誘惑開始,就開始埋怨說臺式機的 myeclipse開起來費勁,Mac裏面又不好裝,想想幹脆給伊在工程裏集成了一個jetty,最新版的jetty7.0-pre5。

輕量是一個很大的好處,去除不相關的jar和文檔,剩下幾M的東西可以很輕鬆的放到工程裏。



配置 倒是滿方便的,參考文檔修改jetty.xml配置工程目錄爲jetty的WebContext

      <New id="CtbaContext" class="org.mortbay.jetty.webapp.WebAppContext">
      <Arg><Ref id="Contexts"/></Arg>
      <Arg><SystemProperty name="ctba.home" default="."/>/WebRoot</Arg>
      <Arg>/</Arg>


爲了把系統變量ctba.home傳進去, 寫個簡單的批處理啓動腳本(對應linux和mac也有一個.sh)

@echo off
cd ../../
set CTBA_WORKSPACE_ROOT=%CD%  
cd ./server/jetty-7/
echo ctba root:%CTBA_WORKSPACE_ROOT%
java -Dctba.home=%CTBA_WORKSPACE_ROOT% -DSTOP.PORT=8081 -DSTOP.KEY=ctba  -jar start.jar

說說期間遇到的一個問題:

jetty運行時會給windows下的文件加鎖( http://docs.codehaus.org/display/JETTY /Files+locked+on+Windows ),導致jsp等文件不能修改。

解決辦法
是修改webdefault.xml

    <init-param>
      <param-name>useFileMappedBuffer</param-name>
      <param-value>true </param-value>  ->改爲false
    </init-param> 

原文鏈接

 

以上,如果有下一篇的話,應該會介紹一下和apache的連攜(使用ajp13)

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