2017-10-17 30 views
0

J'ai habituellement mes sources de données figurant dans standalone.xml comme (juste un échantillon):Utilisation locale au lieu de source de données spécifiant dans standalone.xml (wildfly)

<datasource jta="false" jndi-name="java:jboss/datasources/myDB" pool-name="myDB" enabled="true" use-ccm="false"> 
    <connection-url>jdbc:mysql://mysql/myDB</connection-url> 
    <driver>mysql</driver> 
    <security> 
     <user-name>root</user-name> 
     <password>password</password> 
    </security> 
    <validation> 
     <validate-on-match>false</validate-on-match> 
     <background-validation>false</background-validation> 
    </validation> 
    <statement> 
     <share-prepared-statements>false</share-prepared-statements> 
    </statement> 
</datasource> 

pilote MySQL est installé wildfly. Je sais que l'on peut ajouter des sources de données à webapp --> WEB-INF --> my-ds.xml

Mais quand je déploie ma guerre buildet à wildfly je reçois

16:59:15,121 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 3) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "poc")]) - failure description: { 
    "WFLYCTL0412: Required services that are not installed:" => ["jboss.jdbc-driver.mysql"], 
    "WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.data-source.\"jboss.naming.context.java.jboss.datasources.testDB\" is missing [jboss.jdbc-driver.mysql]"] 
} 
16:59:15,124 ERROR [org.jboss.as.server] (management-handler-thread - 3) WFLYSRV0021: Deploy of deployment "poc.war" was rolled back with the following failure message: 
{ 
    "WFLYCTL0412: Required services that are not installed:" => ["jboss.jdbc-driver.mysql"], 
    "WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.data-source.\"jboss.naming.context.java.jboss.datasources.testDB\" is missing [jboss.jdbc-driver.mysql]"] 
} 

Ma question est:

Comment puis-je déplacer mes définitions de source de données de standalone.xml pour mon projet et le faire fonctionner lors du déploiement de WildFly

+0

Comment avez-vous installé votre pilote mysql? –

+0

il est installé en tant que module, je l'ai déjà résolu – x4k3p

+0

Avez-vous? Quel est le nom du pilote dans la configuration WildFly? Veuillez lancer jboss-cli.sh et ajouter la sortie de 'ls subsystem = datasources' à votre question, car vous ne semblez pas avoir de pilote nommé' mysql'. –

Répondre

0

Déjà trouvé comment résoudre le problème.

premier est d'ajouter un boss-deployment-structure.xmlWEB-INF F.E.) où l'on doit spécifier le pilote:

<?xml version="1.0"?> 
<jboss-deployment-structure> 
    <deployment> 
     <dependencies> 
      <module name="com.mysql" services="export"> 
       <imports> 
        <include path="META-INF**"/> 
        <include path="com**"/> 
        <!-- assuming user of the driver is com.something --> 
       </imports> 
      </module> 
     </dependencies> 
    </deployment> 
</jboss-deployment-structure> 

Puis-je ajouter mes sources de données par -ds.xml modèle. (WildFly 10 indique en fait qu'il est déprécié ...)

Dans mon persistence.xml je peux maintenant utiliser les sources de données.

-1

Plutôt que de placer la source de données -ds.xml dans l'application, vous pouvez la placer dans le répertoire des déploiements.