Java 无法在Jboss EAP 7.0服务器中创建oracle数据源

Java 无法在Jboss EAP 7.0服务器中创建oracle数据源,java,jboss,jboss7.x,Java,Jboss,Jboss7.x,我需要在JBOSS EAP 7.0服务器中创建一个oracle数据源 我使用下面的命令从JBOSS管理CLI(命令行界面)部署了ojdbc6.jar deploy <PATH_TO_ORACLE_DRIVER_JAR> 但是当我试图从Jboss管理控制台创建oracle数据源(oracle.jdbc.driver.OracleDriver作为驱动程序类)时,我得到了以下错误 01:31:35,084 ERROR [org.jboss.as.controller.management

我需要在JBOSS EAP 7.0服务器中创建一个oracle数据源

我使用下面的命令从JBOSS管理CLI(命令行界面)部署了ojdbc6.jar

deploy <PATH_TO_ORACLE_DRIVER_JAR>
但是当我试图从Jboss管理控制台创建oracle数据源(oracle.jdbc.driver.OracleDriver作为驱动程序类)时,我得到了以下错误

01:31:35,084 ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 66) WFLYCTL0013: Operation ("add") failed - address: ([
    ("subsystem" => "datasources"),
    ("data-source" => "OracleDS")
]) - failure description: {"WFLYCTL0180: Services with missing/unavailable dependencies" => [
    "jboss.driver-demander.java:/OracleDS is missing [jboss.jdbc-driver.oracle]",
    "org.wildfly.data-source.OracleDS is missing [jboss.jdbc-driver.oracle]"
]}
01:31:35,092 INFO  [org.jboss.as.controller] (ServerService Thread Pool -- 66) WFLYCTL0183: Service status report
WFLYCTL0184:    New missing/unsatisfied dependencies:
      service jboss.data-source.reference-factory.OracleDS (missing) dependents: [service jboss.naming.context.java.OracleDS]
      service jboss.data-source-config.OracleDS (missing) dependents: [service org.wildfly.data-source.OracleDS]
      service jboss.jdbc-driver.oracle (missing) dependents: [service jboss.driver-demander.java:/OracleDS, service org.wildfly.data-source.OracleDS]
1) 我可以知道是什么导致了这个问题吗?缺少什么依赖关系
2) 将JDBC驱动程序作为数据源创建的JAR部署安装是否正确?

将JDBC驱动程序作为核心模块安装
  • 在$JBOSS_HOME/modules下创建一个目录。在本例中:“$JBOSS_HOME/modules/com/oracle/jdbc/main”

  • 将JDBC驱动程序jar(ojdbc6.jar)的

  • 创建模块配置文件module.xml:

示例Oracle JDBC驱动程序模块.xml文件

Oracle数据源配置示例

jdbc:oracle:thin:@localhost:1521:XE
神谕
管理
管理
真的
假的
oracle.jdbc.xa.client.oraclexadasource
示例管理CLI命令 此示例配置可以通过使用以下管理CLI命令来实现

1#添加Oracle JDBC驱动程序作为核心模块

模块add--name=com.oracle--resources=/path/to/misc/jdbc_drivers/oracle/ojdbc7.jar--dependencies=javax.api,javax.transaction.api

2#注册Oracle JDBC驱动程序

/subsystem=datasources/jdbc driver=oracle:add(驱动程序名=oracle,驱动程序模块名=com.oracle,驱动程序xa数据源类名=oracle.jdbc.xa.client.oraclexadasource)

3#添加Oracle数据源

数据源add--name=OracleDS--jndi name=java:jboss/OracleDS--driver name=oracle--connection url=jdbc:oracle:thin:@localhost:1521:XE--user name=admin--password=admin--validate on match=true--background validation=false--valid connection checker类名=org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker--异常分类器类名=org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter--stale connection checker类名=org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker

参考链接

01:31:35,084 ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 66) WFLYCTL0013: Operation ("add") failed - address: ([
    ("subsystem" => "datasources"),
    ("data-source" => "OracleDS")
]) - failure description: {"WFLYCTL0180: Services with missing/unavailable dependencies" => [
    "jboss.driver-demander.java:/OracleDS is missing [jboss.jdbc-driver.oracle]",
    "org.wildfly.data-source.OracleDS is missing [jboss.jdbc-driver.oracle]"
]}
01:31:35,092 INFO  [org.jboss.as.controller] (ServerService Thread Pool -- 66) WFLYCTL0183: Service status report
WFLYCTL0184:    New missing/unsatisfied dependencies:
      service jboss.data-source.reference-factory.OracleDS (missing) dependents: [service jboss.naming.context.java.OracleDS]
      service jboss.data-source-config.OracleDS (missing) dependents: [service org.wildfly.data-source.OracleDS]
      service jboss.jdbc-driver.oracle (missing) dependents: [service jboss.driver-demander.java:/OracleDS, service org.wildfly.data-source.OracleDS]
<?xml version="1.0" ?>
<module xmlns="urn:jboss:module:1.1" name="com.oracle">
    <resources>
        <resource-root path="ojdbc6.jar"/>
    </resources>
    <dependencies>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
    </dependencies>
</module>
<datasources>
  <datasource jndi-name="java:jboss/OracleDS" pool-name="OracleDS">
    <connection-url>jdbc:oracle:thin:@localhost:1521:XE</connection-url>
    <driver>oracle</driver>
    <security>
        <user-name>admin</user-name>
        <password>admin</password>
    </security>
    <validation>
        <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/>
        <validate-on-match>true</validate-on-match>
        <background-validation>false</background-validation>
        <stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"/>
        <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"/>
    </validation>
  </datasource>
  <drivers>
    <driver name="oracle" module="com.oracle">
        <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
    </driver>
  </drivers>
</datasources>