2017-10-12 164 views
0

我有以下的數據源,我們使用Oracle JDBC驅動程序ojdbc6.jar:Jboss的錯誤缺少新/不滿意的依賴jboss.naming.context.java.jboss.datasources

<?xml version="1.0" encoding="UTF-8"?> 
<datasources xmlns="http://www.jboss.org/ironjacamar/schema"> 
    <datasource jndi-name="java:jboss/datasources/hubAdminDS" enabled="true" 
    use-java-context="true" pool-name="hubAdmin" jta="false"> 
    <connection-url>jdbc:oracle:thin:@10.0.153.177:1521:XE</connection-url> 
    <driver>ojdbc6.jar</driver> 
    <pool> 
     <min-pool-size>5</min-pool-size> 
     <max-pool-size>10</max-pool-size> 
     <prefill>true</prefill> 
    </pool> 
    <security> 
     <user-name>HUBDBLOCAL</user-name> 
     <password>HUBDBLOCAL</password> 
    </security> 
    </datasource> 


    <datasource jndi-name="java:jboss/datasources/TASK_DB" enabled="true" 
    use-java-context="true" pool-name="TASK_DB" spy="true" use-ccm="true"> 
    <connection-url>jdbc:oracle:thin:@10.0.153.177:1521:XE</connection-url> 
    <driver>ojdbc6.jar</driver> 
    <pool> 
     <min-pool-size>10</min-pool-size> 
     <max-pool-size>20</max-pool-size> 
     <prefill>true</prefill> 
    </pool> 
    <security> 
     <user-name>HUBDBLOCAL</user-name> 
     <password>HUBDBLOCAL</password> 
    </security> 
    </datasource> 

<datasource jndi-name="java:jboss/datasources/SAFE" enabled="true" 
    use-java-context="true" pool-name="SAFE" jta="false"> 
    <connection-url>jdbc:oracle:thin:@10.0.153.177:1521:XE</connection-url> 
    <driver>ojdbc6.jar</driver> 
    <pool> 
    <min-pool-size>3</min-pool-size> 
    <max-pool-size>4</max-pool-size> 
    <prefill>true</prefill> 
    </pool> 
    <security> 
    <user-name>HUBDBLOCAL</user-name> 
    <password>HUBDBLOCAL</password> 
    </security> 
</datasource> 

<datasource jndi-name="java:jboss/datasources/JDBC_DB" enabled="true" 
    use-java-context="false" pool-name="JDBC_DB" jta="false"> 
    <connection-url>jdbc:oracle:thin:@10.0.153.177:1521:XE</connection-url> 
    <driver>ojdbc6.jar</driver> 
    <pool> 
     <min-pool-size>5</min-pool-size> 
     <max-pool-size>10</max-pool-size> 
     <prefill>true</prefill> 
    </pool> 
    <security> 
     <user-name>HUBDBLOCAL</user-name> 
     <password>HUBDBLOCAL</password> 
    </security> 
    </datasource> 

    <datasource jndi-name="java:jboss/datasources/MAIL_SENDER_DB" 
    enabled="true" use-java-context="true" pool-name="MAIL_SENDER_DB" 
    jta="false"> 
    <connection-url>jdbc:oracle:thin:@10.0.153.177:1521:XE</connection-url> 
    <driver>ojdbc6.jar</driver> 
    <pool> 
     <min-pool-size>3</min-pool-size> 
     <max-pool-size>4</max-pool-size> 
     <prefill>true</prefill> 
    </pool> 
    <security> 
     <user-name>HUBDBLOCAL</user-name> 
     <password>HUBDBLOCAL</password> 
    </security> 
    </datasource> 

    <datasource jndi-name="java:jboss/datasources/HELPDESK" enabled="true" 
    use-java-context="true" pool-name="HELPDESK" jta="false"> 
    <connection-url>jdbc:oracle:thin:@10.0.153.177:1521:XE</connection-url> 
    <driver>ojdbc6.jar</driver> 
    <pool> 
     <min-pool-size>10</min-pool-size> 
     <max-pool-size>20</max-pool-size> 
     <prefill>true</prefill> 
    </pool> 
    <security> 
     <user-name>HUBDBLOCAL</user-name> 
     <password>HUBDBLOCAL</password> 
    </security> 
    </datasource> 
</datasources> 

當我部署應用程序,我得到了以下錯誤:

15:44:40,915 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 2) 
JBAS014774: Service status report 
JBAS014775: New missing/unsatisfied dependencies: 
    service jboss.naming.context.java.jboss.datasources.JDBC_DB (missing) dependents: [service jboss.naming.context.java.module.bpm.bpm.env."com.hds.hub.api.processes.impl.UserServicesEJB".dataSource, service jboss.naming.context.java.module.bpm.bpm.env."com.hds.hub.iArchive.impl.FileArchiveServiceEJB".dataSource] 
    service jboss.naming.context.java.jboss.datasources.MAIL_SENDER_DB (missing) dependents: [service jboss.naming.context.java.module.bpm.bpm.env.jdbc.MAIL_SENDER_DB] 
    service jboss.naming.context.java.jboss.datasources.TASK_DB (missing) dependents: [service jboss.naming.context.java.module.bpm.bpm.env.jdbc.TASK_DB, service jboss.persistenceunit."bpm.war#org.jbpm.persistence.jpa"] 
    service jboss.naming.context.java.jboss.datasources.hubAdminDS (missing) dependents: [service jboss.naming.context.java.module.bpm.bpm.env.jdbc.HUB_ADMIN_DB] 

15:44:40,921 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"JBAS014771: Services with missing/unavailable dependencies" => ["jboss.naming.context.java.module.bpm.bpm.env.\"com.hds.hub.iArchive.impl.FileArchiveServiceEJB\".dataSourcejboss.naming.context.java.jboss.datasources.JDBC_DBMissing[jboss.naming.context.java.module.bpm.bpm.env.\"com.hds.hub.iArchive.impl.FileArchiveServiceEJB\".dataSourcejboss.naming.context.java.jboss.datasources.JDBC_DB]","jboss.naming.context.java.module.bpm.bpm.env.jdbc.HUB_ADMIN_DBjboss.naming.context.java.jboss.datasources.hubAdminDSMissing[jboss.naming.context.java.module.bpm.bpm.env.jdbc.HUB_ADMIN_DBjboss.naming.context.java.jboss.datasources.hubAdminDS]","jboss.naming.context.java.module.bpm.bpm.env.jdbc.TASK_DBjboss.naming.context.java.jboss.datasources.TASK_DBMissing[jboss.naming.context.java.module.bpm.bpm.env.jdbc.TASK_DBjboss.naming.context.java.jboss.datasources.TASK_DB]","jboss.naming.context.java.module.bpm.bpm.env.\"com.hds.hub.api.processes.impl.UserServicesEJB\".dataSourcejboss.naming.context.java.jboss.datasources.JDBC_DBMissing[jboss.naming.context.java.module.bpm.bpm.env.\"com.hds.hub.api.processes.impl.UserServicesEJB\".dataSourcejboss.naming.context.java.jboss.datasources.JDBC_DB]","jboss.naming.context.java.module.bpm.bpm.env.jdbc.MAIL_SENDER_DBjboss.naming.context.java.jboss.datasources.MAIL_SENDER_DBMissing[jboss.naming.context.java.module.bpm.bpm.env.jdbc.MAIL_SENDER_DBjboss.naming.context.java.jboss.datasources.MAIL_SENDER_DB]","jboss.persistenceunit.\"bpm.war#org.jbpm.persistence.jpa\"jboss.naming.context.java.jboss.datasources.TASK_DBMissing[jboss.persistenceunit.\"bpm.war#org.jbpm.persistence.jpa\"jboss.naming.context.java.jboss.datasources.TASK_DB]"]}}} 

JDBC_DB,MAIL_SENDER,TASK_DB和hubAdminDS在數據源

定義當我連接到遠程服務器上不存在錯誤,但WH我連接到本地服務器我有上述錯誤。

任何人都可以解釋,爲什麼我有錯誤?我如何糾正它?

回答

0

它看起來像你的數據源(「的Java:JBoss的/數據源/ JDBC_DB」)不正確部署JBoss服務器內,按照下面的步驟來完成這件事:

安裝JDBC驅動程序的核心模塊:

1.在$ JBOSS_HOME/modules下創建一個目錄。在這個例子中:「$ JBOSS_HOME/modules/com/oracle/jdbc/main」。

2.Put此目錄中的JDBC驅動程序的jar(ojdbc6.jar)

3.創建一個模塊配置文件module.xml:

<module xmlns="urn:jboss:module:1.1" name="com.oracle.jdbc"> 
    <resources> 
    <resource-root path="ojdbc6.jar"/> 
    </resources> 
    <dependencies> 
    <module name="javax.api"/> 
    <module name="javax.transaction.api"/> 
    </dependencies> 
</module> 

注意,JDBC驅動程序的jar必須包含指定jdbc Driver的META-INF/services/java.sql.Driver文本文件,否則用於加載驅動程序的Java服務提供者機制將不起作用。從主要/通用廠商只有Informix沒有開箱即用。

4.在standalone.xml或domain.xml中配置數據源設置。

現在,您可以編輯自己的獨立( - ).xml或域( -)的.xml配置數據源引用該模塊:

<subsystem ...> 
    <datasources> 
     <datasource jndi-name="java:jboss/datasources/OracleDS" pool-name="OracleDS" enabled="true" use-java-context="true"> 
     <connection-url>jdbc:oracle:thin:@myhostname:1521:oracle</connection-url> 
     <driver>oracle</driver> 
     <pool> 
      <min-pool-size>10</min-pool-size> 
      <max-pool-size>20</max-pool-size> 
      <prefill>true</prefill> 
     </pool> 
     <security> 
      <user-name>myuser</user-name> 
      <password>mypass</password> 
     </security> 
     <validation> 
      <validate-on-match>true</validate-on-match> 
      <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"></valid-connection-checker> 
      <stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"></stale-connection-checker> 
      <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"></exception-sorter> 
     </validation> 
     </datasource> 
     <drivers> 
     <driver name="oracle" module="com.oracle.jdbc"> 
      <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class> 
     </driver> 
     </drivers> 
    </datasources> 
    </subsystem> 

或具有XA數據源:

<subsystem ...> 
     <datasources> 
      <xa-datasource jndi-name="java:/XAOracleDS" pool-name="XAOracleDS"> 
       <driver>oracle</driver> 
       <xa-datasource-property name="URL">jdbc:oracle:thin:@myhostname:1521:oracle</xa-datasource-property> 
       <security> 
        <user-name>admin</user-name> 
        <password>admin</password> 
       </security> 
       <xa-pool> 
        <is-same-rm-override>false</is-same-rm-override> 
        <no-tx-separate-pools /> 
       </xa-pool> 
       <validation> 
        <validate-on-match>true</validate-on-match> 
        <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"></valid-connection-checker> 
        <stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"></stale-connection-checker> 
        <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"></exception-sorter> 
       </validation> 
      </xa-datasource> 
      <drivers> 
       <driver name="oracle" module="com.oracle"> 
        <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class> 
       </driver> 
      </drivers> 
     </datasources> 
    </subsystem> 

一旦DB-驅動程序被設置爲一個模塊和服務器日誌下面說:

12:10:47,381 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-2) JBAS010400: Bound data source [java:jboss/datasources/OracleDS] 
.... 
0

我需要允許多個連接到我的數據庫,這是由以下命令限制:

sqlplus/as sysdba 

ALTER SYSTEM SET PROCESSES= 300 SCOPE=SPFILE; 
SHUT IMMEDIATE; 
STARTUP; 
相關問題