Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jboss-eap-6.1作为部署安装时的oracle驱动程序定义_Java_Oracle_Jdbc_Jboss - Fatal编程技术网

Java jboss-eap-6.1作为部署安装时的oracle驱动程序定义

Java jboss-eap-6.1作为部署安装时的oracle驱动程序定义,java,oracle,jdbc,jboss,Java,Oracle,Jdbc,Jboss,我安装了几个Jboss EAP 6.1,并将Oracle驱动程序作为一个模块安装 这是我在standalone.xml中使用的标准配置: <datasource jndi-name="java:jboss/fooDatasource" pool-name="java:jboss/fooDatasource" enabled="true" use-java-context="false" > <connection-url>jdbc:oracle:thin:@1.2.3.

我安装了几个Jboss EAP 6.1,并将Oracle驱动程序作为一个模块安装

这是我在standalone.xml中使用的标准配置:

<datasource jndi-name="java:jboss/fooDatasource" pool-name="java:jboss/fooDatasource" enabled="true" use-java-context="false" >
 <connection-url>jdbc:oracle:thin:@1.2.3.4:1527/SOMEDB.foo</connection-url>
 <driver>oracle</driver>
     <security>
         <user-name>xxxxx</user-name>
             <password>xxxxxxxxx</password>
     </security>
 [...]
</datasource>
<driver name="oracle" module="oracle.jdbc">
    <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
    <datasource-class>oracle.jdbc.OracleDriver</datasource-class>
</driver>
但我不知道如何编辑standalone.xml使其再次工作:我尝试用几个不同的值ojdbc6.jar、deployment.ojdbc6.jar、oracle.jdbc.OracleDriver编辑驱动程序定义模块属性。。。但似乎都不匹配,Jboss在启动时不断抛出错误:

ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 24) JBAS014613: Operation ("add") failed - address: ([
("subsystem" => "datasources"),
("jdbc-driver" => "oracle")
]) - failure description: "JBAS010441: Failed to load module for driver [ojdbc6.jar]"
[...]
INFO  [org.jboss.as.controller] (Controller Boot Thread) JBAS014774: Service status report
JBAS014775:    New missing/unsatisfied dependencies:
  service jboss.jdbc-driver.oracle (missing) dependents: [service jboss.driver-demander.java:jboss/spiDatasource, service jboss.data-source.java:jboss/fooDatasource]
谁能提供一个驱动程序定义的工作示例


谢谢

好的,我自己找到了答案

令人惊讶的是,我找到的所有指南都解释了如何通过web管理界面或jboss cli进行此配置,但jboss社区中似乎没有人解释如何手动编辑standalone.xml来完成此工作

这是一个工作示例,基本上我刚刚删除了整个Oracle驱动程序定义部分,并将数据源定义中的驱动程序名称替换为已部署jar文件的运行时名称:

<datasource jta="false" jndi-name="java:/jdbc/fooDS" pool-name="foo-ds" use-ccm="false">
    <connection-url>jdbc:oracle:thin:@1.2.3.4:1527/SOMEDB.foo</connection-url>
    <driver-class>oracle.jdbc.OracleDriver</driver-class>
    <driver>ojdbc6.jar</driver>

    [...] other datasource stuff here

</datasource>

# DELETE FROM HERE...
<driver name="oracle" module="oracle.jdbc">
    <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
    <datasource-class>oracle.jdbc.OracleDriver</datasource-class>
</driver>
# ...TO HERE

就这些。

好的,我自己找到了答案

令人惊讶的是,我找到的所有指南都解释了如何通过web管理界面或jboss cli进行此配置,但jboss社区中似乎没有人解释如何手动编辑standalone.xml来完成此工作

这是一个工作示例,基本上我刚刚删除了整个Oracle驱动程序定义部分,并将数据源定义中的驱动程序名称替换为已部署jar文件的运行时名称:

<datasource jta="false" jndi-name="java:/jdbc/fooDS" pool-name="foo-ds" use-ccm="false">
    <connection-url>jdbc:oracle:thin:@1.2.3.4:1527/SOMEDB.foo</connection-url>
    <driver-class>oracle.jdbc.OracleDriver</driver-class>
    <driver>ojdbc6.jar</driver>

    [...] other datasource stuff here

</datasource>

# DELETE FROM HERE...
<driver name="oracle" module="oracle.jdbc">
    <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
    <datasource-class>oracle.jdbc.OracleDriver</datasource-class>
</driver>
# ...TO HERE
就这些。

也许你必须这样说

也许你不得不这样说

创建类似x1/x2/main的目录 在主目录下创建module.xml文件 将ojdbc6-11.1.1.3.0.jar保持在主目录级别 在Module.xml中

<module xmlns="urn:jboss:module:1.1" name="x1.x2">
<properties>
    <property name="jboss.api" value="unsupported"/>
</properties>
<resources>
    <resource-root path="ojdbc6-11.1.1.3.0.jar"/>
</resources>
<dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
    <module name="javax.servlet.api" optional="true"/>
</dependencies>
在domain.xml中

<datasource jndi-name="java:/TestName" pool-name="TestName" enabled="true" use-java-context="true">
                    <connection-url>jdbc:oracle:thin:@ldap://xxxxx:3000/UKXXX,cn=OracleContext,dc=dcm,dc=XXXX</connection-url>
                    <driver>dps</driver>
                    <security>
                        <user-name>XXXXX</user-name>
                        <password>*****</password>
                    </security>
                </datasource>
                <drivers>
                    <driver name="dps" module="x1.x2">
                        <xa-datasource-class>oracle.jdbc.driver.OracleDriver</xa-datasource-class>
                    </driver>
                    </driver>
                </drivers>
尝试保留正确的ojdbc jar,某些版本将无法工作:

创建类似x1/x2/main的目录 在主目录下创建module.xml文件 将ojdbc6-11.1.1.3.0.jar保持在主目录级别 在Module.xml中

<module xmlns="urn:jboss:module:1.1" name="x1.x2">
<properties>
    <property name="jboss.api" value="unsupported"/>
</properties>
<resources>
    <resource-root path="ojdbc6-11.1.1.3.0.jar"/>
</resources>
<dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
    <module name="javax.servlet.api" optional="true"/>
</dependencies>
在domain.xml中

<datasource jndi-name="java:/TestName" pool-name="TestName" enabled="true" use-java-context="true">
                    <connection-url>jdbc:oracle:thin:@ldap://xxxxx:3000/UKXXX,cn=OracleContext,dc=dcm,dc=XXXX</connection-url>
                    <driver>dps</driver>
                    <security>
                        <user-name>XXXXX</user-name>
                        <password>*****</password>
                    </security>
                </datasource>
                <drivers>
                    <driver name="dps" module="x1.x2">
                        <xa-datasource-class>oracle.jdbc.driver.OracleDriver</xa-datasource-class>
                    </driver>
                    </driver>
                </drivers>

尽量保持正确的ojdbc jar,有些版本不起作用:

虽然此代码块可能会回答问题,但您始终应该解释它为什么会这样做。虽然此代码块可能会回答问题,但您始终应该解释它为什么会这样做。我想您没有很好地阅读我的问题。。。我已经有了一个工作模块配置。我问如何摆脱它,然后换一个不同的。问题已经解决了,顺便说一句,我想你没有很好地阅读我的问题。。。我已经有了一个工作模块配置。我问如何摆脱它,然后换一个不同的。顺便说一下,问题已经解决了