如何解决Wildfly 22.0.1 无法使用 MariaDB 数据源部署 EAR
我已经安装了 Wildfly 22.0.1。 我在 standalone.xml 中添加了一个 MariaDB 连接器和一个数据源:
<datasource jndi-name="java:jboss/datasources/BeckDS" pool-name="BeckDB">
<connection-url>jdbc:mariadb://localhost/tube</connection-url>
<driver-class>org.mariadb.jdbc.Driver</driver-class>
<driver>mariadb</driver>
<security>
<user-name>username</user-name>
<password>redacted</password>
</security>
<validation>
<valid-connection-checker
class-name="org.jboss.jca.adapters.jdbc.extensions.MysqL.MysqLValidConnectionChecker"/>
<validate-on-match>true</validate-on-match>
<background-validation>false</background-validation>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.MysqL.MysqLExceptionSorter"/>
</validation>
</datasource>
当我在 HAL 管理控制台中测试时,我连接得很好。
当我尝试使用 EJB jar 文件中的以下 persistence.xml 文件部署我的 EAR 时出现问题。:
<persistence version="2.2"
xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_2.xsd">
<persistence-unit name="BeckPU">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<jta-data-source>java:jboss/datasources/BeckDS</jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MariaDB53Dialect"/>
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.connection.maxIdleTime" value="60"/>
<property name="hibernate.archive.autodetection" value="class,hbm"/>
<property name="hibernate.dbcp.maxActive" value="8" />
<property name="hibernate.dbcp.maxIdle" value="8" />
<property name="hibernate.dbcp.maxWait" value="-1" />
<property name="hibernate.dbcp.whenExhaustedAction" value="1" />
<property name="hibernate.dbcp.testOnBorrow" value="true" />
<property name="hibernate.dbcp.testOnReturn" value="true" />
<property name="hibernate.dbcp.validationQuery" value="SELECT 1" />
</properties>
</persistence-unit>
</persistence>
部署时报如下错误:
WFLYSRV0027: Starting deployment of "beck-ear.ear" (runtime-name: "beck-ear.ear")
WFLYSRV0207: Starting subdeployment (runtime-name: "beck-war.war")
WFLYSRV0207: Starting subdeployment (runtime-name: "beck-ejbs.jar")
WFLYJPA0002: Read persistence.xml for BeckPU
JIPIORMV53020253: Second level cache enabled for beck-ear.ear/beck-ejbs.jar#BeckPU
WFLYJPA0010: Starting Persistence Unit (phase 1 of 2) Service 'beck-ear.ear/beck-ejbs.jar#BeckPU'
HHH000204: Processing PersistenceUnitInfo [
name: BeckPU
...]
Operation ("full-replace-deployment") Failed - address: ([]) - failure description: {
"WFLYCTL0412: required services that are not installed:" => [
"jboss.deployment.subunit.\"beck-ear.ear\".\"beck-ejbs.jar\".deploymentCompleteService","jboss.persistenceunit.\"beck-ear.ear/beck-ejbs.jar#BeckPU\""
],"WFLYCTL0180: Services with missing/unavailable dependencies" => [
"jboss.deployment.subunit.\"beck-ear.ear\".\"beck-war.war\".component.\"jakarta.servlet.jsp.jstl.tlv.ScriptFreeTLV\".START is missing [jboss.persistenceunit.\"beck-ear.ear/beck-ejbs.jar#BeckPU\"]","jboss.deployment.unit.\"beck-ear.ear\".deploymentCompleteService is missing [jboss.deployment.subunit.\"beck-ear.ear\".\"beck-ejbs.jar\".deploymentCompleteService]","jboss.deployment.subunit.\"beck-ear.ear\".\"beck-war.war\".component.\"jakarta.servlet.jsp.jstl.tlv.PermittedTaglibsTLV\".START is missing [jboss.persistence unit.\"beck-ear.ear/beck-ejbs.jar#BeckPU\"]"
]
}
一如既往,非常感谢您提供的任何帮助。
多宝
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。