Не удается добавить драйвер mysql в jboss
Хорошо, это сводит меня с ума. Тем более, что там уже много подобных вопросов. Но никакой ответ не работает для меня.
У меня есть jboss 7.1.1 на моем компьютере с Windows 7 (обычно его запускает из 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, но когда я нажимаю на нее, я получаю ошибку (извините, не могу выбрать там текст, вот и вот изображение):
![error from managment console]()
Ответы
Ответ 1
Итак, еще раз могу отдать дань моей глупости.
Я сделал все правильно, кроме того, что у меня были опечатки в моем файле 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>
Ответ 2
Вам нужно указать тег драйвера для класса драйвера или источника данных.
<driver name="com.mysql" module="com.mysql">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>
Ответ 3
Убедитесь, что у вас нет места в начале файла module.xml
, или вы получите:
new missing/unsatisfied dependencies
... ошибка для этого драйвера.
Ответ 4
Чтобы сделать классы JDBC-драйверов доступными для сервера приложений JBoss, скопируйте архив 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
Ответ 5
Вот мой пример 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
.
Надеюсь, это поможет вам....
Ответ 6
WILDFLY 10 с использованием mysql 5.7
выполните следующие действия: комментарий или удаление примеров в standalone.xml
- в
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\Modules\система\слои\базы\ком\MySQL\главная
mysql-connector-java-5.1.40-bin.jar(придет установщик mysql-installer-community-5.7.15.0.msi)
module.xml
и содержимое модуля .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 должен быть в порядке