我现在正在使用Jboss EAP 7.1,最近我将Oracle数据源作为我之前正确配置的数据源添加到服务器。但是我收到了错误消息:
依赖项缺失/不可用的服务“=> [ “org.wildfly.data-source.CreditDS缺失[jboss.jdbc-driver.oracle11g]”
CreditDs是我的JNDI名称,oracle11g是驱动程序名称。这是我的配置:
<!-- standalone.xml -->
<datasource jndi-name="java:jboss/datasources/CreditDS" pool-name="CreditDS" enabled="true">
<connection-url>jdbc:oracle:thin:@***</connection-url>
<driver>oracle11g</driver>
…… …… ……
</datasource>
<drivers>
<driver name="oracle11g" module="com.oracle.ojdbc14">
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
</driver>
</drivers>
这是modules / com / oracle / ojdbc14 / main中的 modules.xml
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.oracle.ojdbc14">
<resources>
<resource-root path="ojdbc14-10.2.0.4.0.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
怎么了?
答案 0 :(得分:0)
我猜您的oracle模块无法正确识别。
添加oracle JDBC模块的过程如下:
1创建文件夹com/oracle/ojdbc14/10.2.0.4.0
,其中包含JBOSS_HOME/modules
目录
2将您的oracle jar文件复制到该文件夹,并添加module.xml
以及以下内容
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="com.oracle.ojdbc14" slot="10.2.0.4.0">
<resources>
<resource-root path="ojdbc14-10.2.0.4.0.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
3在standalone.xml中创建驱动程序定义
<driver name="oracle14" module="com.oracle.ojdbc14:10.2.0.4.0">
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
</driver>
需要注意的事项:
请注意正确版本的JBoss模块XMLNS - 您使用EAP7标记了您的问题 - 因此您应该使用xmlns 1.3。
请注意slot
和驱动程序定义中的modules.xml
值。这可能是任何价值,但使用lib版本是一个好习惯
在JBoss中添加任何模块后,需要完全重启(重启JVM)
最后,您应该使用最新版本的Oracle JDBC驱动程序,因为不再支持ojdbc14,所以它应该是这样的:
Module.xml
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="com.oracle.ojdbc7" slot="12.1.0.2">
<resources>
<resource-root path="ojdbc7-12.1.0.2.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
文件夹modules/com/oracle/ojdbc7/12.1.0.2
司机:
<driver name="oracle7" module="com.oracle.ojdbc7:12.1.0.2">
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
</driver>