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

How do i set up datasource on Jboss 6 EAP for as400 db2?

我正在尝试将 jboss 6.3 data-source 设置为 ibm as400

jboss 6.3 在 windows 服务器 2012 VM 上 运行 java1.8.0_3164 位

我在启动 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 我有它 driver 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 data-source 的不同示例,但标签似乎已更改,我无法弄清楚如何让这个工作 https://developer.jboss.org/wiki/SetUpADB2Datasource

任何帮助将不胜感激


我将 driver-class 标签移到 driver 标签内,就像下面答案中所建议的那样,从 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>

现在效果很好,谢谢

确保您的 '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>

在您的 Driver 标签中添加 driver-class child

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