菜鳥學Java(十七)——Jboss瘦身

劉水鏡發表於2014-01-28

大家在用Jboss的時候可能跟我一樣,覺得Jboss啟動實在太慢!比起Tomcat幾乎秒啟的速度,Jboss幾乎讓人無法忍受。加上本人電腦配置比較低,Jboss啟動最快的時候也是一分多鐘,慢的時候四分多鐘!這實在是太讓人抓狂了。而且為了避免快取的影響,會經常重啟Jboss,這就導致除錯程式的時間有很大一部分花在了Jboss的啟動上。這顯然是很不科學的,其實我們可以通過精簡Jboss裡面的包以及配置,來提高其啟動速度。因為裡面有很多東西是我們所用不到的,下面我們看看具體操作。

以JBoss 5.1.0(jboss-5.1.0.GA.zip)為例,瘦身步驟如下:

如果用不到訊息佇列,移除JMS功能
    刪除%JBOSS_HOME%/server/xxx/conf/props/messaging-roles.properties
    刪除%JBOSS_HOME%/server/xxx/conf/props/messaging-users.properties
    刪除%JBOSS_HOME%/server/xxx/deploy/messaging目錄
    刪除%JBOSS_HOME%/server/xxx/deploy/jms-ra.rar
    刪除%JBOSS_HOME%/server/xxx/deploy/quartz-ra.rar 
    刪除%JBOSS_HOME%/server/xxx/deployers/messaging-definitions-jboss-beans.xml

不使用JBoss郵件服務JBoss mail
    刪除%JBOSS_HOME%/server/xxx/deploy/mail-ra.rar
    刪除%JBOSS_HOME%/server/xxx/deploy/mail-service.xml

不使用JBoss Web Service(JBoss ws)
    刪除%JBOSS_HOME%/server/xxx/deploy/jbossws.sar目錄
    刪除%JBOSS_HOME%/server/xxx/deployers/jbossws.deployer

不使用排程服務及EJB定時器
    刪除%JBOSS_HOME%/server/xxx/deploy/schedule-manager-service.xml
    刪除%JBOSS_HOME%/server/xxx/deploy/scheduler-service.xml
    刪除%JBOSS_HOME%/server/xxx/deploy/quartz-ra.rar
    刪除%JBOSS_HOME%/server/xxx/deploy/ejb2-timer-service.xml
    刪除%JBOSS_HOME%/server/xxx/deploy/ejb3-timer-service.xml

不使用EJB2
    刪除%JBOSS_HOME%/server/xxx/deploy/ejb2-container-jboss-beans.xml
    注:另外一個檔案不要刪除,有人反應刪除會影響EJB3

不使用EJB3
    刪除%JBOSS_HOME%/server/xxx/deploy/ejb3-connectors-jboss-beans.xml
    刪除%JBOSS_HOME%/server/xxx/deploy/ejb3-container-jboss-beans.xml
    刪除%JBOSS_HOME%/server/xxx/deploy/ejb3-interceptors-aop.xml

不使用Beanshell部署器
    刪除%JBOSS_HOME%/server/xxx/deployers/bsh.deployer目錄

不使用Seam部署器
    刪除%JBOSS_HOME%/server/xxx/deployers/seam.deployer目錄

不使用Hibernate部署器
    刪除%JBOSS_HOME%/server/deployers/hibernate-deployer-jboss-beans.xml

不使用EAR部署器
    刪除%JBOSS_HOME%/server/xxx/deployers/ear-deployer-jboss-beans.xml

不使用UDDI
    刪除%JBOSS_HOME%/server/xxx/deploy/uuid-key-generator.sar目錄
 
不使用JUDDI
    刪除%JBOSS_HOME%/server/xxx/deploy/juddi-service.sar
 
控制檯很少用,但極耗資源。而且安全配置不好,還會帶來安全問題,預設的jboss社群版就有安全問題。全部移除
    刪除%JBOSS_HOME%/server/xxx/deploy/admin-console.ear
    刪除%JBOSS_HOME%/server/xxx/deploy/management資料夾
    刪除%JBOSS_HOME%/server/xxx/deploy/jmx-console.war
    刪除%JBOSS_HOME%/server/xxx/deploy/jbossws.sar
 
移除IIOP/CORBA支援,現在應該說很少用了
    刪除%JBOSS_HOME%/server/xxx/conf/jacorb.properties 
    刪除%JBOSS_HOME%/server/xxx/deploy/iiop-service.xml 
    刪除%JBOSS_HOME%/server/xxx/deployers/ejb3.deployer/META-INF/ejb3-iiop-deployers-jboss-beans.xml 
    刪除%JBOSS_HOME%/server/xxx/lib/jacorb.jar
 
其它的一些檔案,用處都不大
    刪除%JBOSS_HOME%/server/xxx/deploy/jboss-xa-jdbc.rar
    刪除%JBOSS_HOME%/server/xxx/deploy/sqlexception-service.xml
    刪除%JBOSS_HOME%/server/xxx/deploy/xnio.deployer
    刪除%JBOSS_HOME%/server/xxx/deploy/xnio-provider.jar
    刪除%JBOSS_HOME%/server/xxx/deploy/profileservice-secured.jar
    刪除%JBOSS_HOME%/server/xxx/deploy/profileservice-jboss-beans.xml


PS:%JBOSS_HOME%表示JBoss安裝目錄,“xxx”表示server目錄下,所有包含其後面內容的目錄。


以上是在下整理的一些相關資訊,大家可以根據自己的需要,給Jboss進行相應的瘦身。讓你的Jboss在啟動的時候不再載入那些你不需要的檔案,從而使Jboss的啟動速度得到不小的提升。


過年了,最後在這裡祝各位,春節快樂,馬年馬上有錢,單身的馬上有物件。



 

相關文章