【问题标题】:Debugging JDO error调试 JDO 错误
【发布时间】:2012-06-18 01:18:12
【问题描述】:

我的应用程序抛出此错误:

Error : An error occurred trying to instantiate an instance of the API adapter "org.datanucleus.api.jdo.JDOAdapter" 
(perhaps you dont have the requisite datanucleus-api-XXX jar in the CLASSPATH?) : 
{1}
org.datanucleus.exceptions.NucleusUserException: Error : 
An error occurred trying to instantiate an instance of the API adapter "org.datanucleus.api.jdo.JDOAdapter" (perhaps you dont have the requisite datanucleus-api-XXX jar in the CLASSPATH?) : 
{1}
...
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

虽然我的应用程序确实有datanucleus-api-jdo-3.0.0-release.jar

如果没有丢失罐子可能是什么原因?

编辑:

这是解决此问题的建议:

这是不时发生的零星错误 持久类,但更多的是并行使用的类。 它发生在 JDO 和 JPA 中,看起来好像是本地数据存储 锁定特定的表/实体组并忘记释放它; 从而导致对 ds 操作的所有后续调用失败。一世 一般不用重启eclipse;只是停止然后开始 服务器倾向于解决问题,如果没有,则完全刷新/清理 build 会成功的。

但是,我已经重新启动了我的 GAE 服务器并重新运行我的应用程序仍然遇到相同的错误。

这里是完整的 POM.xml

这里是完整的 stack trace.

【问题讨论】:

  • 如前所述,查看日志、堆栈跟踪等。
  • 是的,查看堆栈跟踪我可以看到源自 QueuedThreadPool.java 的错误,并在互联网上搜索这是人们的建议:“这是不时发生的零星错误任何可持久化的类”
  • @DataNucleus 我已编辑问题以显示建议的解决方案
  • 3.0.0-release 不是最新版本,之后还有很多3.0.x版本。这类错误归结为其他事情,而不是“零星问题”(除非 Jetty 在某些情况下没有提供正确的类路径),但随后发布完整的堆栈跟踪会告诉更多信息......一旦你更新到使用最新版本
  • 好的,我明白了,我必须更新到最新版本,看看是否能解决问题。

标签: java google-app-engine jdo datanucleus


【解决方案1】:

使用最新版本。包括所有依赖项(jdo-api、datanucleus-api-jdo)。阅读文档以了解 CLASSPATH 中需要包含的内容(例如,您的类的增强版本)。

【讨论】:

    猜你喜欢
    • 2012-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-08
    • 2018-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多