Google app engine 本地数据库的Appengine jdoconfig.xml

Google app engine 本地数据库的Appengine jdoconfig.xml,google-app-engine,postgresql,jdo,datanucleus,Google App Engine,Postgresql,Jdo,Datanucleus,是否有人成功地将JDO datanucleus默认配置为google app engine以在本地数据库上工作 当我在结尾部分指定了值为“rdbms.”的属性“datanucleus.storeManagerType”时,为什么jdoconfig.xml中总是出现错误 我尝试过谷歌搜索,但似乎没有运气 原因:org.datanucleus.exceptions.nucleuserexception:没有可用的“rdbms”类型的StoreManager。请确保已正确指定“datanucleus.

是否有人成功地将JDO datanucleus默认配置为google app engine以在本地数据库上工作

当我在结尾部分指定了值为“rdbms.”的属性“datanucleus.storeManagerType”时,为什么jdoconfig.xml中总是出现错误

我尝试过谷歌搜索,但似乎没有运气

原因:org.datanucleus.exceptions.nucleuserexception:没有可用的“rdbms”类型的StoreManager。请确保已正确指定“datanucleus.storeManagerType”,并且所有相关插件都位于类路径中

<persistence-manager-factory name="postgresql"> 
<property name="datanucleus.mapping.Schema" value="jdo"/>
<property name="javax.jdo.PersistenceManagerFactoryClass" value="org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFactory"/> 
<property name="datanucleus.ConnectionDriverName" value="org.postgresql.Driver"/> 
<property name="datanucleus.ConnectionURL" value="jdbc:postgresql://localhost:5432/jdo"/> 
<property name="datanucleus.ConnectionUserName" value="jdo"/> 
<property name="datanucleus.ConnectionPassword" value="jdo"/> 
<property name="datanucleus.appengine.autoCreateDatastoreTxns" value="true"/> 
<property name="datanucleus.autoStartMechanism" value="None"/> 
<property name="datanucleus.autoCreateSchema" value="true"/> 
<property name="datanucleus.validateTables" value="true"/> 
<property name="datanucleus.validateConstraints" value="true"/> 
<property name="datanucleus.validateColumns" value="true"/> 
<property name="datanucleus.DetachAllOnCommit" value="true"/> 
<property name="datanucleus.maxFetchDepth" value="1"/> 
<property name="datanucleus.storeManagerType" value="rdbms"/>

在使用默认app engine sdk的“事务可选”数据存储之外的另一个数据存储时,您需要使用另一个web应用程序容器,如apache tomcat或jetty,以便使用rdbms驱动程序类(即postgresql.jar-org.postgresql.driver、mysql.jar com.mysql.jdbc.driver)由于google app engine禁止您的应用程序使用数据库驱动程序使用的java.net.socket.*,我记得通过在我的WEB-INF/lib中包含datanucleus-rdbms-X.Y.Z.jar解决了这个问题,谢谢。我通过在pom.xml中添加“org.datanucleus:datanucleus rdbms:X.Y.Z”依赖项解决了同样的问题。
private static final PersistenceManagerFactory pmfInstance =
JDOHelper.getPersistenceManagerFactory("postgresql");