簡體   English   中英

無法添加mysql驅動程序到jboss

[英]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.xmlmysql-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

  1. 進入jboss-cli.bat --connect

執行命令后[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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM