我正在开发WebLogic 12c(12.1.3.0),它提供了EclipseLink 2.5.2。
我将连接池配置为PostgreSQL-DB。
当我尝试查找JNDI资源时,尝试访问包含@EJB
WebLogic退出的@PersistenceContext
(SLSB) StackOverflowError 。我认为这是persistence.xml的JTA数据源。
java.lang.StackOverflowError
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.naming.internal.VersionHelper12.getContextClassLoader(VersionHelper12.java:185)
at com.sun.naming.internal.ResourceManager.getFactory(ResourceManager.java:418)
at javax.naming.spi.NamingManager.getURLObject(NamingManager.java:592)
at javax.naming.spi.NamingManager.getURLContext(NamingManager.java:550)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:339)
at javax.naming.InitialContext.lookup(InitialContext.java:411)
at weblogic.jndi.internal.ApplicationNamingNode.resolveObject(ApplicationNamingNode.java:169)
at weblogic.jndi.internal.BasicNamingNode.resolveObject(BasicNamingNode.java:886)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:219)
at weblogic.jndi.internal.ApplicationNamingNode.lookup(ApplicationNamingNode.java:131)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:253)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:426)
at weblogic.jndi.factories.java.ReadOnlyContextWrapper.lookup(ReadOnlyContextWrapper.java:45)
at weblogic.jndi.internal.ApplicationNamingNode.resolveObject(ApplicationNamingNode.java:170)
[...]
有人知道这种行为吗?
谢谢, 斯蒂芬
答案 0 :(得分:0)
我通过增加Webogic服务器的调试输出解决了我的问题。
我在那里实现了JDBC查找的错误JNDI地址。
似乎持久化上下文试图使用non-jta-data-source
而不是jta-data-source
的{{1}}。由于单元测试的目的,它们是不同的。
我删除了条目,现在JPA上下文的初始化工作。