2013-07-08 83 views
6

我使用JBoss 7.1.1。當我嘗試啓動服務器時,出現異常。我嘗試了很多解決方案,但似乎沒有任何工作。新失蹤/不滿意的依賴關係:服務jboss.jdbc-driver.com_mysql(失蹤)的家屬:服務jboss.data-source.java:jboss/MyDB]

以下行出現在日誌 -

New missing/unsatisfied dependencies: service jboss.jdbc-driver.com_mysql (missing) dependents: [service jboss.data-source.java:jboss/MyDB]

這裏是我的standalone.xml:

</datasource> 
    <datasource jta="true" jndi-name="java:jboss/MyDB" pool-name="MyDB_Pool" enabled="true" use-java-context="true" use-ccm="true"> 
     <connection-url>jdbc:mysql://localhost:3306/test</connection-url> 
     <driver>com.mysql</driver> 
     <security> 
      <user-name>root</user-name> 
      <password>root</password> 
     </security> 
     <timeout> 
      <idle-timeout-minutes>0</idle-timeout-minutes> 
      <query-timeout>600</query-timeout> 
     </timeout> 
     <statement> 
      <prepared-statement-cache-size>100</prepared-statement-cache-size> 
      <share-prepared-statements>true</share-prepared-statements> 
     </statement> 
    </datasource> 
    <drivers> 
     <driver name="h2" module="com.h2database.h2"> 
      <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class> 
     </driver> 
     <driver name="com.mysql" module="com.mysql"> 
      <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class> 
     </driver> 
    </drivers> 
</datasources> 

這是我的module.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<module xmlns="urn:jboss:module:1.1" name="com.mysql"> 
<resources> 
    <resource-root path="mysql-connector-java-5.1.24-bin.jar"/> 
</resources> 
<dependencies> 
    <module name="javax.api"/> 
    <module name="javax.transaction.api"/>  
    <module name="javax.servlet.api" optional="true"/> 
    <module name="javax.validation.api"/> 
</dependencies> 
</module> 

但我仍然有這個例外

這裏是我的web.xml(的一部分):

<resource-ref id="ResourceRef_1"> 
    <res-ref-name>MyDB</res-ref-name>   
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
    <res-sharing-scope>Shareable</res-sharing-scope> 
    <lookup-name>java:jboss/datasources/MyDB</lookup-name> 
</resource-ref> 

誰能幫助?

回答

2

module.xml應該是這樣的:

<module xmlns="urn:jboss:module:1.0" name="com.mysql" slot="main"> 
    <resources> 
    <resource-root path="mysql-connector-java-5.1.24-bin.jar"/> 
    </resources> 
    <dependencies> 
    <module name="javax.api"/> 
    </dependencies> 
</module> 

並確保您有mysql-connector-java-5.1.24-bin.jarmysql-connector-java-5.1.24-bin.jar.index在同一個文件夾,你必須module.xml

+0

與此module.xml相同的例外 – pulse

+0

@pulse:有module.xml是不夠的。確保你在xml文件夾中有有效的jar文件。 – kosa

+0

他們都在文件夾org/mysql/main/jar,module.xml – pulse

0

嘗試升級你的mysql連接器。我試圖部署5.1.5(我正在從jboss 5.1遷移到7.1.1,所以我只是將已經工作的環境轉移到新的容器中)。在我的頭撞了兩天後,我升級到5.1.27,數據源像冠軍一樣部署。

0

嘗試從MySQL連接器的lib刪除META-INF /服務/ java.sql.Driver中。

1

解決:新的失蹤/不滿意的依賴關係:服務jboss.jdbc-driver.com_對於JBoss/WildFly 10

嗨, 首先停止WildFly服務器。 然後更新standalone.xml文件中添加MS-SQL JTDS驅動程序詳細信息和數據源的詳細信息如下圖所示:

<subsystem xmlns="urn:jboss:domain:datasources:4.0"> 
      <datasources> 
       <datasource jta="true" jndi-name="java:/jdbc/speedtest-datasource" pool-name="MSSQLDSspeedTestDEV" enabled="true" use-ccm="true"> 
        <connection-url>jdbc:jtds:sqlserver://serverName:1433;DatabaseName=dbName</connection-url> 
        <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class> 
        <driver>JTDS</driver> 
        <security> 
         <user-name>username</user-name> 
         <password>password</password> 
        </security> 
        <validation> 
         <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker"/> 
         <background-validation>true</background-validation> 
        </validation> 
       </datasource> 
       <drivers> 

        <driver name="JTDS" module="net.sourceforge"> 
         <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class> 
        </driver> 

       </drivers> 
      </datasources> 
     </subsystem> 

Module.xml爲MS SQL JTDS:路徑:E:\軟件\ wildfly-10.1.0.Final \ wildfly-10.1.0.Final \ modules \ system \ layers \ base \ net \ sourceforge \ main(需要創建高亮顯示的目錄結構並添加module.xml和jtds-1.3.0.jar文件)。

(在這個例子我已經使用模塊名稱爲「net.sourceforge」和創建的文件夾結構的路徑作爲音符「淨\ sourceforge的\主」)。請注意,這對於匹配模塊xml文件中的目錄路徑和模塊名稱更爲重要。

<?xml version="1.0" encoding="UTF-8"?> 
<module xmlns="urn:jboss:module:1.0" name="net.sourceforge"> 
<resources> 
<resource-root path="jtds-1.3.0.jar"/> 
</resources> 
<dependencies> 
<module name="javax.api"/> 
<module name="javax.transaction.api"/> 
</dependencies> 
</module> 

注:請注意,路徑綠色高亮顯示在以上兩個地方應該匹配(在module.xml即目錄結構和模塊名稱),

例如。如果您創建的目錄結構爲E:\ Softwares \ wildfly-10.1.0.Final \ wildfly-10.1.0.Final \ modules \ system \ layers \ base \ net \ sourceforge \ jtds \ main,那麼module.xml中的模塊名稱文件應該是「net.sourceforge.jtds」,如下面的模塊所示。xml文件

Module.xml: 
<?xml version="1.0" encoding="UTF-8"?> 
<module xmlns="urn:jboss:module:1.0" name="net.sourceforge.jtds"> 
<resources> 
<resource-root path="jtds-1.3.0.jar"/> 
</resources> 
<dependencies> 
<module name="javax.api"/> 
<module name="javax.transaction.api"/> 
</dependencies> 
</module> 

現在保存這兩個文件並重新啓動wildFLY服務器。

Regards, 
Rasool Javeed Mohammad 
[email protected]