【问题标题】:EclipseLink JPA on WebLogic 12c leads to StackOverflowErrorWebLogic 12c 上的 EclipseLink JPA 导致 StackOverflowError
【发布时间】:2016-02-06 12:08:13
【问题描述】:

我正在 WebLogic 12c (12.1.3.0) 上进行开发,它提供了 EclipseLink 2.5.2。

我为 PostgreSQL-DB 配置了一个连接池。

当我尝试访问包含 @PersistenceContext@EJB (SLSB) 时,WebLogic 在尝试查找 JNDI 资源时退出并出现 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)
[...]

有人知道这种行为吗?

谢谢, 斯蒂芬

【问题讨论】:

  • 堆栈中有什么东西导致了某种递归吗?请参阅stackoverflow.com/questions/214741/what-is-a-stackoverflowerror 了解堆栈溢出是什么,因为您没有提供足够的信息来显示代码有任何问题。很有可能,您只是没有为运行 WebLogic 的 JVM 分配足够的内存
  • 感谢克里斯的评论。我解决了 StackOverflowError。看我的回答。

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


【解决方案1】:

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

【讨论】:

  • 如果正常错误导致服务器中出现 StackOverflowError,您还有其他基于资源的问题需要处理。
猜你喜欢
  • 2013-06-29
  • 1970-01-01
  • 1970-01-01
  • 2016-03-28
  • 2021-07-08
  • 2014-09-23
  • 2021-02-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多