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

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

一、數據源配置web

     在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這個欄目列出來的時候,就證實咱們的發佈是成功的。oracle

 

二、web.xml配置jvm

    在was7下,web.xml頂部必須有一個DOCTYPE聲明,這個在jboss中不能夠有,不然沒法啓動。spa

三、JVM配置server

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

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

 四、出現head size異常it

能夠經過指定最大堆大小來解決此問題 即set JAVA_OPTS=-Xmx1024m

 

四、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>

相關文章
相關標籤/搜索