gpt4 book ai didi

java - 我如何在 Jboss 6 EAP 上为 as400 db2 设置数据源?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:44:39 26 4
gpt4 key购买 nike

我正在尝试将 jboss 6.3 数据源设置为 ibm as400

jboss 6.3 在 Windows Server 2012 虚拟机上运行Java 1.8.0_31 64 位

我在启动 jboss 时在控制台中收到此错误

1

4:02:09,332 INFO [org.jboss.as.controller] (Controller Boot Thread) JBAS014774: Service status report JBAS014775: New missing/unsatisfied dependencies: service jboss.jdbc-driver.as400 (missing) dependents: [service jboss.driver-demander.java:jboss/datasour ces/PPSDB, service jboss.data-source.java:jboss/datasources/PPSDB]

这是我的 module.xml 我有它和驱动程序 jt400.jar

D:\Program 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 web 控制台添加了数据源。在 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>

现在它工作得很好,谢谢

最佳答案

确保您的“jt400.jar”在路径\modules\com\ibm\as400\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>

在您的驱动程序标签中添加驱动程序类 child

<driver name="as400" module="com.ibm.as400">
<driver-class>com.ibm.as400.access.AS400JDBCDriver</driver-class>
</driver>

关于java - 我如何在 Jboss 6 EAP 上为 as400 db2 设置数据源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28864207/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com