2016-06-21 55 views
5

我試圖配置MySQL的依賴後運行我的JBOSS,但有這樣的錯誤JBoss的錯誤:org.jboss.as.controller.management操作(Controller引導螺紋)

09:49:00,138 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([ 
    ("subsystem" => "datasources"), 
    ("data-source" => "TripTicketDS") 
]) - failure description: {"WFLYCTL0180: Services with missing/unavailable dependencies" => [ 
    "jboss.data-source.java:jboss/datasources/TripTicketDS is missing [jboss.jdbc-driver.mysql]", 
    "jboss.driver-demander.java:jboss/datasources/TripTicketDS is missing [jboss.jdbc-driver.mysql]" 
]} 
09:49:00,149 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([ 
    ("subsystem" => "datasources"), 
    ("data-source" => "TripTicketDS") 
]) - failure description: {"WFLYCTL0180: Services with missing/unavailable dependencies" => [ 
    "jboss.data-source.java:jboss/datasources/TripTicketDS is missing [jboss.jdbc-driver.mysql]", 
    "jboss.driver-demander.java:jboss/datasources/TripTicketDS is missing [jboss.jdbc-driver.mysql]", 
    "jboss.data-source.java:jboss/datasources/TripTicketDS is missing [jboss.jdbc-driver.mysql]" 
]} 

我standalone.xml配置如下所示

<datasource jndi-name="java:jboss/datasources/TripTicketDS" pool-name="TripTicketDS" enabled="true" use-java-context="true"> 
    <connection-url>jdbc:mysql://localhost:3306/trip_ticket</connection-url> 
    <driver>mysql</driver> 
    <security> 
     <user-name>root</user-name> 
     <password></password> 
    </security> 
</datasource> 

我的SQL module.xml文件看起來像這樣

<?xml version="1.0" encoding="UTF-8"?> 
<module xmlns="urn:jboss:module:1.3" name="com.sql.mysql"> 
    <resources> 
     <resource-root path="mysql-connector-java-5.1.39-bin.jar"/> 
    </resources> 
    <dependencies> 
     <module name="javax.api"/> 
    </dependencies> 
</module> 
+0

您可以發佈您的全'module.xml'?需要注意的是,你還需要依賴'javax.transaction.api'。 –

+0

這裏是我的module.xml文件<?xml version =「1.0」encoding =「UTF-8」?> <資源根路徑= 「MySQL的連接器的Java-39年5月1日 - bin.jar」/> <依賴性> <模塊名稱= 「javax.api」/>

+0

嗨,我現在和蜻蜓10一樣的問題。你找到解決方案嗎?謝謝 –

回答

0

你的驅動程序名稱是INCO rrect。它需要與您的模塊名稱com.sql.mysql相同。

不是編輯XML,而是建議使用CLI或Web控制檯添加數據源。使用CLI,您還可以添加模塊。

module add --name=com.mysql --resources=~/Downloads/mysql-connector-java-5.1.37/mysql-connector-java-5.1.37-bin.jar --dependencies=javax.api,javax.transaction.api 

/subsystem=datasources/jdbc-driver=com.mysql:add(driver-name=com.mysql, driver-module-name=com.mysql, driver-xa-datasource-class-name=com.mysql.jdbc.jdbc2.optional.MysqlXADataSource) 
/subsystem=datasources/data-source=TripTicketDS:add(driver-name=com.mysql, jndi-name="java:jboss/datasources/TripTicketDS", enabled=true, connection-url="jdbc:mysql://localhost:3306/trip_ticket", user-name=root, password="mypassword") 
1

嘗試使用jboss-cli.sh命令創建模塊本身,而不是手動編寫module.xml文件。這是因爲當我們使用一些文本編輯器時,他們可能會在我們的文件中附加一些隱藏的字符。 (特別是當我們做一個副本,在這樣的編輯&粘貼)

[[email protected]:9990 /] module add --name=com.mysql.driver --dependencies=javax.api,javax.transaction.api --resources=/PATH/TO/mysql-connector-java-5.1.35.jar 

[[email protected]:9990 /] :reload 
{ 
    "outcome" => "success", 
    "result" => undefined 
} 

上面的命令運行後,你應該看到在以下位置產生的module.xml:「wildfly-version.Final/modules/com/mysql/驅動器/主/ module.xml」

現在創建數據源:

[[email protected]:9990 /] /subsystem=datasources/jdbc-driver=mysql/:add(driver-module-name=com.mysql.driver,driver-name=mysql,jdbc-compliant=false,driver-class-name=com.mysql.jdbc.Driver) 
{"outcome" => "success"}