我已经用 GAE (1.7.0) 试验了几个星期,但我在 STRONG 一致性方面遇到了一些问题。
我一直在研究这个问题,但我仍然不清楚。
是否有人能够肯定地说,如果在 GAE 中使用 JDO,那么一致性将是 EVENTUAL。
实现 STRONG 一致性的唯一方法是不使用 JDO,而是将 GAE 实体类与 Ancestry 一起使用。
在这个阶段,我不知道是我的代码有问题还是环境不支持。无论如何,我正在失去我脆弱的小头脑:-)
我的 jdoconfig.xml 文件
<?xml version="1.0" encoding="utf-8"?>
<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig">
<persistence-manager-factory name="transactions-optional">
<property name="javax.jdo.PersistenceManagerFactoryClass"
value="org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFactory"/>
<property name="javax.jdo.option.ConnectionURL" value="appengine"/>
<property name="javax.jdo.option.NontransactionalRead" value="true"/>
<property name="javax.jdo.option.NontransactionalWrite" value="true"/>
<property name="javax.jdo.option.RetainValues" value="true"/>
<property name="datanucleus.appengine.autoCreateDatastoreTxns" value="true"/>
<property name="datanucleus.appengine.datastoreReadConsistency" value="STRONG" />
</persistence-manager-factory>
谢谢