天天看點

JBoss-5.1.0.GA配置連接配接池再次出錯,随記錄下來以備後用。

上次配置的是Oracle 資料庫幾番周折之後總算成功告捷,這次換成MSSQL2005竟然又一次出錯。難道配置有差別,還是我在網上下的解壓包不是原版的。

查找資料得知需要進行以下配置:

1.  MSSQL2005資料庫驅動sqljdbc4.jar放在:jboss根目錄/jboss-5.1.0.GA/server/default/lib

2.  現在jboss根目錄/docs/examples/jca/ 拷貝 mssql-ds.xml 到 jboss根目錄/server/default/deploy 下

3.  修改mssql-ds.xml檔案

    <jndi-name>LOG你的連接配接池名</jndi-name>

         <user-name>使用者名</user-name>

         <password>密碼</password>

               此檔案的<type-mapping>MSSQL</type-mapping>可以不變,但是必須與standardjbosscmp-jdbc.xml 的<datasource-mapping>MSSQL</datasource-mapping>保持一緻。

4.         修改檔案jboss根目錄/server/default/conf/standardjbosscmp-jdbc.xml

         <datasource>java:/ LOG你的連接配接池名</datasource>

         把<datasource-mapping>MSSQL</datasource-mapping>的注釋去掉

5.         修改檔案jboss根目錄/server/default/conf/login-config.xml

   <application-policy name="HsqlDbRealm">

    <authentication>

      <login-module code="org.jboss.resource.security.ConfiguredIdentityLoginModule"

        flag="required">

        <module-option name="principal">資料庫名</module-option>

        <module-option name="userName">使用者名</module-option>

        <module-option name="password">密碼</module-option>

        <module-option name="managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name= LOG你的連接配接池名</module-option>

      </login-module>

    </authentication>

  </application-policy>

經過以上配置基本完成了,啟動JBoss出現以下異常。

10:37:57,968 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DefaultDS' to JNDI name 'java:DefaultDS'

10:37:58,078 ERROR [AbstractPasswordCredentialLoginModule] The ConnectionManager mbean: jboss.jca:service=LocalTxCM,name= LOG你的連接配接池名specified in a ConfiguredIdentityLoginModule could not be found. ConnectionFactory will be unusable!

javax.management.InstanceNotFoundException: jboss.jca:service=LocalTxCM,name=LOGSYSTEM is not registered.

檢查錯誤資訊發現JNDI name 'java:DefaultDS' ,我先前明明已經修改了這個名字啊,怎麼會再次出現。查找檔案發現一個hsqldb-ds.xml 中<jndi-name>DefaultDS</jndi-name>,很顯然是它的原因。删除這個多餘的配置檔案,啟動JBoss一切正常。

    這裡隻為了記錄排除錯誤的方法,遇到問題,試下這個思路也許問題就解決了。