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)