web-dev-qa-db-fra.com

Impossible d'ajouter le pilote mysql à jboss

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):

error from managment console

13
OschtärEi

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>
9
OschtärEi

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>
1
James R. Perkins

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.

1
Nguyen

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 ....

0
Samy

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

0
Sai prateek

WILDFLY 10 utilisant mysql 5.7

suivez ces étapes: commentez ou supprimez les exemples dans standalone.xml

  1. dans jboss-cli.bat --connect

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

0
JAGJ jdfoxito