WebLogic 12c上的EclipseLink JPA导致StackOverflowError

时间:2015-11-05 15:15:14

标签: jpa eclipselink jndi java-ee-6 weblogic12c

我正在开发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)
[...]

有人知道这种行为吗?

谢谢, 斯蒂芬

1 个答案:

答案 0 :(得分:0)

我通过增加Webogic服务器的调试输出解决了我的问题。 我在那里实现了JDBC查找的错误JNDI地址。 似乎持久化上下文试图使用non-jta-data-source而不是jta-data-source的{​​{1}}。由于单元测试的目的,它们是不同的。 我删除了条目,现在JPA上下文的初始化工作。