Ich kann MySQL DataSource in standalone.xml konfigurieren und funktioniert gut. Aber ich möchte DataSource mit der Annotation @DataSourceDefinition
konfigurieren.
Wie konfiguriere ich eine MySQL-Datenquelle mit @DataSourceDefinition in JBoss AS7?
Was ich bereits versucht habe, ist:
%Vor%zusammen mit dieser persistence.xml :
%Vor% Ich habe die JAR-Datei für den MySQL-Connector in WEB-INF/lib
.
Aber wenn ich die Anwendung bereitstelle, erhalte ich diesen Fehler:
(DeploymentScanner-threads - 2) {"JBAS014653: Zusammengesetzte Operation gescheitert und wurde zurückgerollt. Schritte, die fehlgeschlagen sind: "= & gt; {" Betriebsschritt-2 " = & gt; {"JBAS014771: Dienste mit fehlenden / nicht verfügbaren Abhängigkeiten" = & gt; ["jboss.persistenceunit." javaee6-app.war # javaee6-app \ "jboss.naming.context.java.global.jdbc.MyDSMissing [jboss.persistenceeinheit. \" javaee6-app.war # javaee6-app \ " jboss.naming.context.java.global.jdbc.MyDS] "]}}}
Ich habe es selbst herausgefunden.
Es scheint, dass JBoss AS7 Scan-Prozess einige Fehler hat. Gemäß der Java EE 6-Spezifikation sollte @DataSourceDefinition
Annotationen in beliebigen Klassen gescannt werden. Aber es funktioniert gut, wenn wir es auf eine Klasse setzen, die eine @Stateless
Annotation hat.
Auch das nächste Problem, das Sie haben können, ist:
java.lang.ClassCastException: com.mysql.jdbc.Driver kann nicht in javax.sql.DataSource umgewandelt werden
Ursache param className
von @DataSourceDefinition
muss DataSource
Implementierung bereitstellen (siehe javadoc), nicht die Treiberklasse.
Für MySQL kann es sein:
%Vor%Ein Vorschlag ist, dass der Name der Datenquelle in standalone.xml oder domain.xml in jboss als 7 konfiguriert wird und mysql connector jar in jboss module.And try konfiguriert wird.
Mysql Connector jar konfigurieren Siehe diesen Link.
Datenquellenkonfiguration in Standalone.xml Siehe diesen Link