2014-09-05 114 views
1

我有幾個Jboss EAP 6.1安裝程序與作爲模塊安裝的Oracle驅動程序一起工作。作爲部署進行安裝時,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> 

的ojdbc6.jar是在$ JBOSS_HOME /模塊/系統/層/基層/ ORACLE/JDBC /與適當的主/在一起module.xml和一切工作正常。

現在安裝驅動程序的部署要求,讓客戶我搬到ojdbc6.jar到$ JBOSS_HOME /獨立/部署/我從它被部署沒有錯誤日誌中看到:

[org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-3) JBAS010403: Deploying JDBC-compliant driver class oracle.jdbc.OracleDriver (version 11.2) 
INFO [org.jboss.as.server] (ServerService Thread Pool -- 25) JBAS018559: Deployed "ojdbc6.jar" (runtime-name : "ojdbc6.jar") 

但我不知道如何編輯我的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] 

任何人都可以提供一個驅動程序定義的工作示例嗎?

謝謝

回答

6

好的,我自己找到了答案。

令人驚訝的是,我周圍發現的所有指南都解釋瞭如何通過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 

就這樣。

-1

也許你有這樣提...

<subsystem xmlns="urn:jboss:domain:datasources:1.1"> 
     <datasources> 
      <datasource jndi-name="java:jboss/XXX" pool-name="XXX"  enabled="true" use-java-context="true"> 
       <connection-url>jdbc:oracle:thin:@SID:PORT:DBNAME</connection-url> 
       <driver>oracle</driver> 
       <security> 
        <user-name>user</user-name> 
        <password>password</password> 
       </security> 
      </datasource> 
      <drivers> 
       <driver name="oracle" module="com.oracle"> 
        <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class> 
        <datasource-class>oracle.jdbc.OracleDriver</datasource-class> 
       </driver> 
      </drivers> 
     </datasources> 
</subsystem> 
+1

這並不提供答案的問題。要批評或要求作者澄清,在他們的帖子下留下評論 - 你總是可以評論你自己的帖子,一旦你有足夠的[聲譽](http://stackoverflow.com/help/whats-reputation),你會能夠[評論任何帖子](http://stackoverflow.com/help/privileges/comment)。 – sina72 2015-03-03 12:37:00

+0

它解決了驅動程序錯誤! – Vivek 2015-03-03 13:50:26

+1

雖然此代碼塊可能會回答問題,但您應始終提供一些解釋。 – 2015-03-03 15:53:27

-1
  1. 創建像X1/X2目錄/主
  2. 創建主目錄下module.xml文件
  3. 保持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> 

在域。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罐子,一些版本將無法正常工作:)

+0

我認爲你沒有很好地閱讀我的問題......我已經有了一個工作模塊配置。我問過如何擺脫這種情況,然後切換到另一種方式。順便提一下,這個問題已經解決了 – MariusPontmercy 2016-10-14 13:45:55

相關問題