應用部署到JBOSS上遇到的問題


原來應用在WAS7.0下,移植到JBOSS eap5.1.2下后,遇到了一些問題,特此記錄:

1、數據源配置

     在was中,datasource中獲取數據源名稱時,直接寫was中配置的數據源名稱即可。而在jboss下,jndi的名稱需要以java:+數據源名稱開始。was下可以通過console去配置數據源,jboss中,將數據庫驅動復制到%JBOSS_HOME%/server/default/lib/下,然后到JBoss的文檔中尋找到數據源的配置模板,這個配置模板在docs/examples/jca目錄下,在這目錄下可以看到有各種數據庫的配置模板,找到oracle的配置模板,oracle-ds.xml,將其復制到%JBOSS_HOME%/server/default/deploy/ 下。然后將數據庫連接串、用戶名、密碼等寫正確。

  數據源發布成功之后,我們就可以進入JBoss的管理控制台,http://localhost:8080/jmx-console/, 找到jboss.jca這個欄目,會找到很多name=itcastDS.service=....的東西,當這個數據源在jboss.jca這個欄目列出來的時候,就證明我們的發布是成功的。

 

2、web.xml配置

    在was7下,web.xml頂部必須有一個DOCTYPE聲明,這個在jboss中不可以有,否則無法啟動。

3、JVM配置

     jvm的默認的permsize只有4M,當應用中jar包和類比較多時,會出現OutOfMemory:PermSize的異常。 此時,需要在%JBOSS_HOME%/bin/run.conf下,最頂部添加如下jvm參數配置:

   set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

 4、出現head size異常

可以通過指定最大堆大小來解決此問題 即set JAVA_OPTS=-Xmx1024m

 

4、jboss-web.xml

   默認情況下,應用中的某些jar包也jboss中的jar包沖突。此時在web-inf下添加一個jboss-web.xml,即可正常啟動,內容如下:

<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 5.0//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd">
<jboss-web>
<class-loading java2ClassLoadingCompliance='true'>
<loader-repository>
com.example:archive=unique-archive-name
<loader-repository-config>
java2ParentDelegaton=true
</loader-repository-config>
</loader-repository>
</class-loading>
</jboss-web>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM