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

标签 java jboss ibm-midrange jboss6.x db2-400

我正在尝试将 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/

相关文章:

ibm-midrange - SQLRPGLE 源大小限制

java - Hibernate 是否必须驱动数据库设计?

java注释-运行时自动使用

java - 我可以像这样实现单例模式吗?

hibernate - JBOSS 上用于 hibernate 的 JDBC jar 的位置

sql - DB2 将数字转换为日期

java - 将包含密码的外部 xml 文件添加到 Spring boot 中的类路径

java - JBoss EAP 6.2 : Exchange auth-method of war-file

jakarta-ee - Jboss wildfly 如何绑定(bind)本地 JNDI namespace 中的条目?

java - 在 Play Framework 上连接到 as400 JDBC