- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在 App Engine java jdo 中有一个跨组事务。
它在本地开发应用引擎服务器上运行良好。
但是,从单元测试中,我得到一个 java.lang.IllegalArgumentException: transactions on multiple entity groups only allowed in High Replication applications
。
是否可以使用 LocalServiceTestHelper 模拟高复制应用程序?
我正在使用 1.6.6。
这是我的类(class),您可以按原样运行它以重现:
public class Ds2Test {
private final LocalServiceTestHelper helper =
new LocalServiceTestHelper(new LocalDatastoreServiceTestConfig());
private static final PersistenceManagerFactory pmfXgInstance =
JDOHelper.getPersistenceManagerFactory("xg-transactions");
@Before
public void setUp() {
helper.setUp();
}
@After
public void tearDown() {
helper.tearDown();
}
@Test
public void testXgTransaction() throws Exception {
PersistenceManager xgPm = pmfXgInstance.getPersistenceManager();
Transaction xgTx = xgPm.currentTransaction();
xgTx.begin();
xgTx.commit();
xgPm.close();
}
}
这里是 jdoconfig.xml 中的配置:
<persistence-manager-factory name="xg-transactions">
<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.datastoreEnableXGTransactions" value="true"/>
</persistence-manager-factory>
异常在 xgTx.begin();
上抛出
最佳答案
好的。我找到了需要做的事情。
private final LocalServiceTestHelper helper =
new LocalServiceTestHelper(new LocalDatastoreServiceTestConfig()**.setDefaultHighRepJobPolicyUnappliedJobPercentage(100))**;
见于:https://developers.google.com/appengine/docs/java/tools/localunittesting#Writing_HRD_Datastore_Tests
有点晦涩的设置,但就是这样。
关于java - App Engine Java JDO 中的单元测试 XG 跨组事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10812100/
我有一把 Yamaha MIDI 吉他,当我播放使用 XG MIDI 标准编码的 MIDI 文件时,它会导致吉他上的某些灯打开和关闭。我正在尝试确定导致此问题的 MIDI 事件,以便我可以在不使用 M
most recent release GAE 声明了以下更改: Datastore Cross Group (XG) Transactions: For those who need transac
我正在尝试使用以下代码添加一个新的根实体: try { DatastoreService datastore = DatastoreServiceFactory.getData
我有以下实体 @Entity public class Product implements Serializable { @Id @GeneratedValue(strategy =
App Engine 最近宣布支持 Cross Group (XG) transactions ;人们会期望这些事务在跨多个实体组使用时会产生额外的开销,但如果我在事务开始时指定我想要一个 XG 事务
我知道在 GAE 上的 XG 交易中有 5 个实体组的限制,但我认为我在一次交易中只使用了 3 个组(商品、类别、商品类别),但仍然出现此异常:Caused by: java.lang.Illegal
我正在尝试为在 python 上运行的应用程序引擎应用程序编写自动化本地单元测试。 似乎每当我尝试调用跨组交易 ((XG=true)) 时,该交易根本不起作用并且不会存储值。 因为我知道 XG 交易需
背景: 我最近在 GAE SDK 1.7.3 中更新到 JDO 2.0/Datanucleus 3.1.1。我有二级缓存到 memcache,我发现当我对子实体执行某些操作时,我在缓存中看到过时的数据
我在 App Engine java jdo 中有一个跨组事务。 它在本地开发应用引擎服务器上运行良好。 但是,从单元测试中,我得到一个 java.lang.IllegalArgumentExcept
我在 AWS-Sagemaker 上训练了 xgboost 模型并创建了一个端点。现在我想使用 AWS Lambda 和 AWS API 调用终端节点。我创建了一个 lambda 函数,并为我的 xg
考虑“事务用途”中的第二个示例(“使用命名键更新实体,如果它尚不存在则创建它”): https://developers.google.com/appengine/docs/java/datastor
我刚刚注意到 docs' example对于 XG 交易,使用包含交易作为参数的 put 方法,但它没有提到这样做的必要性。 TransactionOptions options = Transact
我正在处理 AWS Sagemaker 上的信用欺诈数据集。数据集高度不平衡。其欺诈交易率仅为 0.1732%。我想使用 sagemaker 的 XG-Boost 将给定交易预测为欺诈 (1) 或非欺
我需要在 Google App Engine 中的一些实体组中使用 XG(跨组)事务。不幸的是,当我在本地 Jetty (Eclipse) 服务器上运行这些操作中的任何一个时,App Engine 开
我是一名优秀的程序员,十分优秀!