使用JBoss建立Mysql JTA连接,以错误告终

问题描述

我正在尝试使用 Jboss 设置 MysqL 连接。为此,我采用 JTA 方法。到目前为止,我已经调整了所有内容,但在部署时总是出现错误

我的 standalone.xml 看起来像这样:

 <datasource jndi-name="java:jboss/datasources/MysqLDS" pool-name="MysqLDS" enabled="true" use-java-context="true" statistics-enabled="${wildfly.datasources.statistics-enabled:${wildfly.statistics-enabled:false}}">
                <connection-url>jdbc:MysqL://localhost:3306/jpa?useUnicode=true&amp;useJDBCCompliantTimezoneshift=true&amp;useLegacyDatetimeCode=false&amp;serverTimezone=UTC</connection-url>
                <driver-class>com.MysqL.cj.jdbc.Driver</driver-class>
                <driver>MysqL</driver>
                <security>
                    <user-name>xxx</user-name>
                    <password>xxx</password>
                </security>
                <validation>
                    <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.MysqL.MysqLValidConnectionChecker"/>
                    <background-validation>true</background-validation>
                    <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.MysqL.MysqLExceptionSorter"/>
                </validation>
  </datasource>

persistence.xml 的结构如下:

<persistence-unit name="TestJPA" transaction-type="JTA">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <jta-data-source>java:jboss/datasources/MysqLDS</jta-data-source>
    <class>de.jpa.test.Kunden</class>
    <properties>
        <property name="hibernate.dialect" value="org.hibernate.dialect.MysqL5Dialect"/>
        <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
        <property name="hibernate.show_sql" value="false"></property>
        <property name="hibernate.cache.use_second_level_cache" value="true"/>
        <property name="hibernate.cache.use_query_cache" value="true" />
        <property name="hibernate.cache.use_minimal_puts" value="true"/>
    </properties>
</persistence-unit>

这里产生的错误

09:11:56,124 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") Failed - address: ([("deployment" => "TestJPA.war")]) - failure description: {
"WFLYCTL0412: required services that are not installed:" => ["jboss.naming.context.java.jboss.datasources.MysqLDS"],"WFLYCTL0180: Services with missing/unavailable dependencies" => [
    "jboss.persistenceunit.\"TestJPA.war#TestJPA\".__FirsT_PHASE__ is missing [jboss.naming.context.java.jboss.datasources.MysqLDS]","jboss.persistenceunit.\"TestJPA.war#TestJPA\" is missing [jboss.naming.context.java.jboss.datasources.MysqLDS]"
]
}

编辑

 <drivers>
                <driver name="h2" module="com.h2database.h2">
                    <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
                </driver>
                <driver name="MysqL" module="com.MysqL">
                    <driver-class>com.MysqL.cj.jdbc.Driver</driver-class>
                    <xa-datasource-class>com.MysqL.cj.jdbc.MysqLXADataSource</xa-datasource-class>
                </driver>
 </drivers>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)