天天看点

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一切正常。

    这里只为了记录排除错误的方法,遇到问题,试下这个思路也许问题就解决了。