我目前遇到的问题是我的entityManager在执行部署在耳朵中的web应用程序执行期间未能注入。Weblogic Ear部署未能注入实体管理器
耳的设置如下:
/META-INF -application.xml(EJBJar + WAR)
-MANIFEST.MF
-weblogic-application.xml中(目前只是默认一个蚀 生成)
/APP-INF
-lib
-EJBClientJar(接口+的POJO)-other jars -classes
EJBJar
/META-INF
-persistence.xml
/SRC
-Annotated类
WAR
- 服务类
类如下:
DAO inside EJBJar
@Stateless(mappedName="AwesomeBean")
public class Awesome implements AwesomeRemote //AwesomeRemote in EJBClientJar
{
@PersistenceContext
EntityManager em;
}
public class AwesomeService //Inside WAR
{
AwesomeRemote = context.lookup (Awesome.path.to.AwesomeRemote) //Is found
}
调用堆栈如下:
战争 - > EJBClientJar - > EJBJar
在EJB jar上实体管理器为空。问题是如何确保PersistenceContext被注入? AwesomeRemote接口上的JNDI查找成功。界面上没有注释。
请尝试在PersistenceContext注释中指定unitName? – 2011-04-29 22:47:59
也失败了,谢谢你的建议 – Woot4Moo 2011-04-30 14:31:12
你怎么知道它是空的?例外?你可以发布吗? – 2011-05-02 19:13:38