首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么应用程序引擎部署时出现Persistence.createEntityManagerFactory("transactions-optional")错误?

为什么应用程序引擎部署时出现Persistence.createEntityManagerFactory("transactions-optional")错误?
EN

Stack Overflow用户
提问于 2013-04-29 15:46:38
回答 1查看 1.5K关注 0票数 2

我已经创建了一个appengine,它运行良好,并在调试模式下从我的返回记录。当我部署appegine并运行端点时,它会出错。我在appengine日志中得到的错误是:

由: org.datanucleus.exceptions.NucleusUserException:引起,没有可用的"jdbc“类型的StoreManager。确保您已经将相关的DataNucleus存储插件放在CLASSPATH中,如果通过JNDI或DataSource定义连接,还需要提供持久性属性"datanucleus.storeManagerType“。

下面是war\WEB\lib目录中的一个列表或jars:

  • appengine-api-1.0-sdk-1.7.6
  • api-实验室
  • 应用程序.端点
  • appengine-jsr107cache-1.7.6
  • asm-4.0
  • com.sun.tools.xjc_2.2.0
  • com.sun.xml.bind_2.2.0.v201004141950
  • datanucleus-api-jdo-3.1.3
  • datanucleus-api-jpa-3.1.3
  • datanucleus-appengine-2.1.2
  • datanucleus-core-3.1.3
  • 黄道
  • eclipselink-jpa-modelgen_2.4.1.v20121003-ad44345
  • gcm-服务器
  • geronimo_2.0_spec-1.0
  • javax.activation_1.1.0.v201108011116
  • javax.mail_1.4.0.v201005080615
  • javax.persistence_2.0.4.v201112161009
  • javax.xml.bind_2.2.0.v201105210648
  • javax.xml.stream_1.0.1.v201004272200
  • jdo-api-3.0.1
  • json_simple-1.1
  • jsr107cache-1.1
  • jta-1.1
  • org.eclipse.persistence.jpars_2.4.1.v20121003-ad44345

这是我的persistence.xml:

代码语言:javascript
代码运行次数:0
运行
复制
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
        http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0">

    <persistence-unit name="transactions-optional" transaction-type="RESOURCE_LOCAL">
        <provider></provider>
        <class>com.example.myapp.Class1</class>
        <class>com.example.myapp.Class2</class>
        <properties>
            <property name="datanucleus.NontransactionalRead" value="true"/>
            <property name="datanucleus.NontransactionalWrite" value="true"/>
            <property name="javax.persistence.jdbc.driver" value="com.google.appengine.api.rdbms.AppEngineDriver"/>
            <property name="javax.persistence.jdbc.url" value="jdbc:google:rdbms://something.com:someproj:someapp/somedb"/>
            <property name="javax.persistence.jdbc.user" value=""/>
            <property name="javax.persistence.jdbc.password" value=""/>
        </properties>
    </persistence-unit>
</persistence>

使用: cloud数据核v2 SDK 1.7.6 Jre7

由于它在调试模式下运行良好,所以我不知道问题可能是什么,因为我刚开始应用程序引擎。如果你需要更多的信息,请告诉我。

谢谢你们。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-29 16:01:00

决定你用的是哪个JPA提供商..。对于Cloud (不是AppEngine,所以您不需要“”,也不需要“”)。您有DataNucleus JPA (实际上是第3版,但由于某种原因省略了datanucleus,但CloudSQL需要它),您也有EclipseLink。然后,您就不会在persistence.xml中设置持久性提供程序,所以让它来尝试尝试给您的持久性提供程序.它尝试了DataNucleus JPA,但是您还没有包含datanucleus,所以如果没有它,您就不能持久地使用RDBMS。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16282826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档