我正在尝试为ibm as400设置JBoss6.3数据源。
JBoss6.3正在运行于windows 2012 VM java 1.8.0_31 64位上
在jboss启动时,控制台中出现了这个错误。
1
4:02:09,332 INFO org.jboss.as.controller JBAS014774: service status report JBAS014775:新缺失/不满意的依赖关系: Service jboss.jdbc-driver.as 400(缺失)依赖方: service jboss.driver-demder.java:jboss/datasour/PPSDB,service org.jboss.as.controller
这是我的module.xml,我有它,驱动程序jt400.jar在
D:\程序Files\jboss-eap-6.3\modules\com\ibm\as400\main
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<module xmlns="urn:jboss:module:1.0" name="com.ibm.as400">
<resources>
<resource-root path="jt400.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
</dependencies>
</module>这是我的Standalone.xml中的数据源子系统
<subsystem xmlns="urn:jboss:domain:datasources:1.1">
<datasources>
<datasource jndi-name="java:jboss/datasources/PPSDB" pool-name="java:jboss/datasources/PPSDB_Pool" enabled="true" use-java-context="true" use-ccm="true">
<connection-url>jdbc:as400://development.ad.company.com/JKCDRIVER;DB_CLOSE_DELAY=-1</connection-url>
<driver-class>com.ibm.as400.access.AS400JDBCDriver</driver-class>
<driver>as400</driver>
<pool>
<min-pool-size>2</min-pool-size>
<max-pool-size>20</max-pool-size>
<prefill>true</prefill>
</pool>
<security>
<user-name>user</user-name>
<password>password</password>
</security>
<validation>
<check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
<use-fast-fail>false</use-fast-fail>
</validation>
</datasource>
<drivers>
<driver name="as400" module="com.ibm.as400"/>
</drivers>
</datasources>
</subsystem>我已经找到了一些不同的例子,用于在jboss的旧版本上设置as400数据源,但是标记似乎已经改变了,而且我还没有弄清楚如何获得这个工作的https://developer.jboss.org/wiki/SetUpADB2Datasource。
任何帮助都将不胜感激。
我按照下面的答案将驱动程序类标记移动到驱动程序标记中,从standalone.xml中删除数据源,然后使用jboss控制台添加数据源。它在standalone.xml中生成了这个
<datasource jta="false" jndi-name="java:/jdbc/ppsdb" pool-name="mypool" enabled="true" use-ccm="false">
<connection-url>jdbc:as400://development.ad.company.com/JKCDRIVER</connection-url>
<driver-class>com.ibm.as400.access.AS400JDBCDriver</driver-class>
<driver>as400</driver>
<security>
<user-name>user</user-name>
<password>pass</password>
</security>
<validation>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
</validation>
<timeout>
<set-tx-query-timeout>false</set-tx-query-timeout>
<blocking-timeout-millis>0</blocking-timeout-millis>
<idle-timeout-minutes>0</idle-timeout-minutes>
<query-timeout>0</query-timeout>
<use-try-lock>0</use-try-lock>
<allocation-retry>0</allocation-retry>
<allocation-retry-wait-millis>0</allocation-retry-wait-millis>
</timeout>
<statement>
<share-prepared-statements>false</share-prepared-statements>
</statement>
</datasource>现在工作得很好,谢谢
发布于 2015-03-05 19:12:55
确保您的'jt400.jar‘在路径\模块\com\ibm\ is 400\main上。
你的module.xml应该读起来像
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.ibm.as400">
<resources>
<resource-root path="jt400.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>在驱动程序标记中添加驱动程序类的子级。
<driver name="as400" module="com.ibm.as400">
<driver-class>com.ibm.as400.access.AS400JDBCDriver</driver-class>
</driver>https://stackoverflow.com/questions/28864207
复制相似问题