Ok, ça me rend fou. Surtout parce qu'il y a déjà beaucoup de questions similaires. Mais aucune réponse ne fonctionne pour moi.
J'ai jboss 7.1.1 sur ma machine Windows 7 (je l’utilise normalement depuis Eclipse) et je veux utiliser mysql.
J'ai fait ce qui suit:
1 répertoire créé jboss-as-7.1.1.Final\modules\com\mysql\main
2 fichiers ici: module.xml
et mysql-connector-Java-5.1.26-bin.jar
(téléchargés à partir du site officiel de MySQL)
3 Contenu de 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 parties pertinentes de 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>
et:
<driver name="com.mysql" module="com.mysql" />
A chaque fois que je démarre le serveur jboss, je vois ce message:
service jboss.jdbc-driver.com_mysql (missing) dependents: [service jboss.data-source.Java:jboss/datasources/mysqlDS]
Et quand je vais dans managment-console et que je regarde sources de données, mysqlDS y est répertorié, mais quand je clique dessus, je reçois le message d'erreur (désolé, je ne peux pas sélectionner le texte, alors voici l'image):
Donc, une fois de plus, je peux rendre hommage à ma stupidité. J'ai tout fait correctement, sauf que des fautes de frappe étaient dans mon fichier module.xml
. Notez que dans le code ci-dessus, il n'y a pas de blancs ("") entre quelques mots - d’une certaine manière, ils se sont perdus. Mais ce qui est encore pire, c’est que ces fichiers de modules ne sont apparemment pas validés par jboss, c’est pourquoi je ne m'en suis jamais rendu compte. Quoi qu'il en soit, voici la configuration correcte sans les fautes de frappe ...
<?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>
Vous devez attribuer à la balise du pilote une classe de pilote ou une source de données.
<driver name="com.mysql" module="com.mysql">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>
Assurez-vous que vous n'avez PAS d'espace au début du fichier module.xml
ou vous obtiendrez un:
new missing/unsatisfied dependencies
... erreur pour ce pilote.
Voici mon exemple 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>
Vous trouverez ci-dessous la configuration de la source de données dans 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>
Regardez l'étiquette du pilote ci-dessus. lecteur est juste mysql
et pas le com.mysql
. J'espère que cela devrait vous aider ....
Pour rendre les classes de pilotes JDBC disponibles pour JBoss Application Server, copiez l'archive mysql-mysql-connector-Java-5.1.5-bin.jar de la distribution Connector/J vers le répertoire lib dans la configuration de serveur par défaut (en supposant que la configuration du serveur que vous utilisez).
Maintenant, créez un 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>
vous pouvez également consulter ces liens 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
WILDFLY 10 utilisant mysql 5.7
suivez ces étapes: commentez ou supprimez les exemples dans standalone.xml
après l'exécution de la commande [standalone @ localhost: 9990 /] /subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql,driver-module-name=com.mysql,drem-xa-datasource -class-name = com.mysql.jdbc.jdbc2.optional.MysqlXADataSource)
ça devrait être bon
ce standalone.xml modifié, puis ajoutez
<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>
devrait ressembler!
et module.xml mis en
\ Java\serveur\wildfly-10.1.0.Final\modules\système\couches\base\com\mysql\main
mysql-connector-Java-5.1.40-bin.jar (venez installer mysql-installer-community-5.7.15.0.msi) module.xml
et le contenu de module.xml comme:
<?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>
et prêt, Java_HOME devrait être ok