Weblogic Server升级:EJB3 JPA KODO:范围内没有名为“em”的持久性单元

时间:2013-09-14 10:41:31

标签: java java-ee jpa ejb weblogic

过去几天我一直在努力解决这个错误。请有人指出出了什么问题。

我在Weblogic Server 10.0上有一个正在生产的EAR应用程序正常工作。当我在Weblogic Server 10.3.4上部署相同的构建EAR时,出现错误:

  

范围/ projectEARName中没有名为'em'的持久性单元。可用的持久性单位:[]

该应用程序是一个爆炸的EAR,带有爆炸的JAR和WAR。 JAR使用JPA(Kodo框架,它是WebLogic中的JPA RI)和EJB3。 WAR使用JSF Framework。

项目最终构建文件夹结构(使用ANT构建;全部分解;哪些部署在WLS中)

  • EAR
    • JAR
      • 项目的课程
      • META-INF
        • 的persistence.xml
        • ejb-jar.xml中
        • WebLogic的EJB-jar.xml中
      • 项目的UI文件
      • WEB-INF
        • LIB
    • META-INF
      • WebLogic的application.xml中
      • application.xml中

的persistence.xml

<?xml version="1.0" encoding="UTF-8"?><persistence version="1.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_1_0.xsd">
<persistence-unit name="PU" transaction-type="JTA">
<provider>kodo.persistence.PersistenceProviderImpl</provider>
<jta-data-source>SMDS</jta-data-source>
<class>com.aaa.bbbb.domainobjects.cccc</class>
<class>com.aaa.bbbb.domainobjects.dddd</class>
<class>com.aaa.bbbb.domainobjects.eeee</class>
<properties>
    <property name="kodo.jdbc.SQLFactory" value="BatchLimit=-1, SupportsUnion=true"/>
    <property name="kodo.DataCache" value="true(CacheSize=5000, SoftReferenceSize=0)"/>
    <property name="kodo.RemoteCommitProvider" value="sjvm"/>
    <property name="kodo.Log" value="DefaultLevel=INFO, Runtime=INFO, Tool=INFO, SQL=TRACE"/>
</properties> 
</persistence-unit>

EJB Facade类(使用EntityManager)

@Stateless(name="XYZFacade", mappedName="XYZFacade")
public class XYZFacadeBean implements XYZFacade {
    @PersistenceContext
    private EntityManager em;
}

我认为问题可能是由于Weblogic安装文件夹中modules文件夹中的JAR发生了变化。任何想法,任何人?

0 个答案:

没有答案