问题描述
我正在尝试使用 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&useJDBCCompliantTimezoneshift=true&useLegacyDatetimeCode=false&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 (将#修改为@)