14

好吧,这让我发疯了。特别是因为那里已经有很多类似的问题。但没有答案对我有用。

我的 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 列在那里,但是当我单击它时,我得到了错误(抱歉无法选择那里的文本,所以这里是图像):

来自管理控制台的错误

4

6 回答 6

9

所以我可以再一次向我的愚蠢致敬。我做的一切都是正确的,只是我的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>
于 2013-10-16T06:49:35.940 回答
1

确保文件开头没有空格,module.xml否则您将得到:

new missing/unsatisfied dependencies

...此驱动程序错误。

于 2015-04-18T22:53:07.783 回答
1

您需要为驱动程序标记提供驱动程序类或数据源。

<driver name="com.mysql" module="com.mysql">
    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>
于 2013-10-11T20:49:02.973 回答
0

这是我的示例 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。希望这对你有帮助....

于 2013-10-16T07:07:02.863 回答
0

要使 JBoss 应用程序服务器可以使用 JDBC 驱动程序类,请将存档 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

于 2013-10-11T13:31:41.633 回答
0

狂野 10 使用 mysql 5.7

请按照以下步骤操作:注释或删除standalone.xml 中的示例

  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\server\wildfly-10.1.0.Final\modules\system\layers\base\com\mysql\main

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应该没问题

于 2016-10-10T01:44:01.453 回答