[英]Can't add mysql driver to jboss
好的,這讓我發瘋了。 特別是因為那里已經有很多類似的問題了。 但沒有答案對我有用。
我的Windows 7機器上有jboss 7.1.1(通常從eclipse運行)並且想要使用mysql。
我做了以下事情:
1創建目錄jboss-as-7.1.1.Final\\modules\\com\\mysql\\main
2文件: module.xml
和mysql-connector-java-5.1.26-bin.jar
(從官方mysql網站下載)
3 module.xml
內容:
<?xml version="1.0" encoding="UTF-8"?>
<modulexmlns="urn:jboss:module:1.0" name="com.mysql">
<resourxces>
<resource-rootpath="mysql-connector-java-5.1.26-bin.jar"/>
</resources>
<dependencies>
<modulename="javax.api"/>
</dependencies>
</module>
4 jboss-as-7.1.1.Final\\standalone\\configuration\\standalone.xml
相關部分:
<datasource jndi-name="java:jboss/datasources/mysqlDS" pool-name="mysqlDS" enabled="true" jta="true" use-ccm="true" use-java-context="true">
<connection-url>jdbc:mysql://192.168.1.1:3306/eAuftrag</connection-url>
<driver>com.mysql</driver>
<security>
<user-name>root</user-name>
<password>fffff</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>
和:
<driver name="com.mysql" module="com.mysql" />
每次我啟動jboss服務器時都會看到以下消息:
service jboss.jdbc-driver.com_mysql (missing) dependents: [service jboss.data-source.java:jboss/datasources/mysqlDS]
當我進入管理控制台並查看數據源時,會在那里列出mysqlDS,但是當我點擊它時我得到錯誤(抱歉無法在那里選擇文本,所以這里是圖像):
所以我再一次向我的愚蠢致敬。 我做的一切正常,除了我在module.xml
文件中有拼寫錯誤。 請注意,在上面的代碼中,某些單詞之間沒有空格(“”) - 不知怎的,它們就丟失了。 但更糟糕的是,這些模塊文件顯然沒有被jboss驗證,這就是我從未意識到的原因。 無論如何這里是沒有錯別字的正確配置...
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="com.mysql">
<resources>
<resource-root path="mysql-connector-java-5.1.26-bin.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
</dependencies>
</module>
您需要為驅動程序標記提供驅動程序類或數據源。
<driver name="com.mysql" module="com.mysql">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>
確保你在module.xml
文件的開頭沒有空格,否則你會得到一個:
new missing/unsatisfied dependencies
...這個驅動程序的錯誤。
要使JDBC驅動程序類可用於JBoss Application Server,請將存檔mysql-mysql-connector-java-5.1.5-bin.jar從Connector / J發行版復制到默認服務器配置中的lib目錄(假設是您正在運行的服務器配置)。
現在創建一個mysql-ds.xml
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>DefaultDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/test</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>jboss</password>
<valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name>
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
你也可以參考這個鏈接https://zorq.net/b/2011/07/12/adding-a-mysql-datasource-to-jboss-as-7
http://docs.jboss.org/jbossas/getting_started/v4/html/db.html
這是我的示例module.xml
<module xmlns="urn:jboss:module:1.1" name="com.mysql">
<resources>
<resource-root path="mysql-connector-java-5.1.6.jar"/>
<!-- Insert resources here -->
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
以下是standalone.xml中的數據源配置
<datasource jta="true" jndi-name="java:jboss/jdbc/MyDS" pool-name="AppzillonDS" enabled="true" use-java-context="true">
<connection-url>jdbc:mysql://192.168.1.98:3306/mydb?zeroDateTimeBehavior=convertToNull</connection-url>
<driver>mysql</driver>
<security>
<user-name>user</user-name>
<password>password</password>
</security>
</datasource>
看看上面的驅動程序標簽。 驅動器只是mysql
而不是com.mysql
。 希望這能幫助你....
WILDFLY 10使用mysql 5.7
請按照以下步驟操作:在standalone.xml中注釋或刪除exampleds
執行命令后[standalone @ localhost:9990 /] /subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql,driver-module-name=com.mysql,driver-xa-datasource-class-name= com.mysql.jdbc.jdbc2.optional.MysqlXADataSource)
應該可以
這個修改過的standalone.xml,然后添加
<datasources>
<!--
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
<driver>h2</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource> -->
<datasource jndi-name="java:/mysql" pool-name="mysqlDS" enabled="true" use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/wildfly</connection-url>
<driver>mysql</driver>
<security>
<user-name>root</user-name>
<password>jdfoxito10</password>
</security>
</datasource>
<drivers>
<driver name="mysql" module="com.mysql">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
應該看起來像!
和module.xml放入
\\ java中\\服務器\\ wildfly-10.1.0.Final \\模塊\\ SYSTEM \\層\\基\\ COM \\ MySQL的\\主
mysql-connector-java-5.1.40-bin.jar(來安裝程序mysql-installer-community-5.7.15.0.msi)module.xml
和module.xml中的內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="com.mysql">
<resources>
<resource-root path="mysql-connector-java-5.1.40-bin.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
准備好了,JAVA_HOME應該沒問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.