DataSourceConfig.java
import jakarta.annotation.sql.DataSourceDefinition;
import jakarta.ejb.Singleton;
@Singleton
@DataSourceDefinition(
name = "java:global/jdbc/deneme2DS",
className = "org.h2.jdbcx.JdbcDataSource",
url = "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1",
user = "sa",
password = "sa"
)
public class DataSourceConfig {
// This class can be empty, as it only serves to define the DataSource
// The DataSource will be automatically registered when this class is loaded
}
持久性.xml
xmlns:xsi =“http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation =“https://jakarta.ee/xml/ns/persistence” https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd”
版本=“3.0”>
<!-- Use a portable JNDI name for the datasource --> <jta-data-source>java:global/jdbc/deneme2DS</jta-data-source> <properties> <property name="jakarta.persistence.schema-generation.database.action" value="drop-and-create" /> <property name="jakarta.persistence.sql-load-script-source" value="import.sql" /> <!-- Properties for Hibernate <property name="hibernate.show_sql"
值=“假”
/> --> </properties>
这是错误日志
20:26:07,298 错误 [org.jboss.as.controller.management-operation] (控制器启动线程)WFLYCTL0013:操作(“部署”)失败 - 地址:([("deployment" => "deneme2-ear.ear")]) - 失败 描述: { "WFLYCTL0412: 未安装所需的服务:" => ["jboss.naming.context.java.global.jdbc.deneme2DS"], “WFLYCTL0180:缺少/不可用依赖项的服务”=> [ “jboss.persistenceunit。”deneme2-ear.ear/deneme2-ejb.jar#primary”。FIRST_PHASE 缺少 [jboss.naming.context.java.global.jdbc.deneme2DS]”, “jboss.persistenceunit。”deneme2-ear.ear/deneme2-ejb.jar#primary”是 缺少 [jboss.naming.context.java.global.jdbc.deneme2DS]” ] }
相同的设置适用于 Payara,但不适用于 Wildfly,所以我怀疑这是 Wildfly 方面的错误,在这里发帖以确保没有我错过的东西。
我正在使用 payara/server-full 和 jboss/wildfly docker 镜像。
升级到Wildfly 31解决了旧版本上的一个错误问题。