我的持久性模块存在一些问题。
得到错误,如 “意外的问题收集统计信息:java.lang.IllegalStateException:JBAS011477:持久性单位'EAR_FileName.ear / EJB_Module_Persistence.jar#MyPersistenceUnit'不可用”
我的persistence.xml文件位于下面突出显示的位置。如果我错了请纠正我 - 根据包装结构持久性单位名称以 EAR文件名开头然后我的持久性模块名称然后#unit name ,这是绝对正确的。我正在使用PersistenceContext在另一个ejb中注入我的持久性单元。
@PersistenceContext(unitName="MyPersistenceUnit")
private EntityManager em;
有谁能告诉我我在这里做错了什么。我将不胜感激您提供的任何输入/帮助。
这是我项目的模块结构
EAR_FileName.ear
|
|---EJB_Module1.jar
|
|---EJB_Module_Persistence.jar
|
|---META-INF
|
|---persistence.xml
这是我的persistence.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
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_0.xsd">
<persistence-unit name="MyPersistenceUnit" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:/MyTransactionDS</jta-data-source>
<class>all class</class>
<properties>
<property name="hibernate.show_sql" value="false"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hibernate.use_sql_comments" value="true"/>
<property name="hibernate.cache.use_second_level_cache" value="true"/>
</properties>
</persistence-unit>
</persistence>
P.S。使用WildFly 8.1作为应用程序服务器。
提前谢谢。答案 0 :(得分:0)
看起来Wildfly-Tracker已经出现了这个问题的缺陷:
WFLY-4908: Redeploy dependent ear fails with duplicate resource error for persistence unit
Jboss-Forum还有一篇文章:
JBoss-Dev: Redeploy dependent ear fails with duplicate resource error for persistence unit
根据缺陷描述,使用Wildfly 10.1.0.CR1解决了该问题。