出于测试目的,我需要运行具有高复制数据存储 (HRD) 的本地 App Engine Java 开发服务器,但没有未应用的作业。我希望通过以下方式在独立单元测试中获得相同的效果:
LocalDatastoreServiceTestConfig cfg
= new LocalDatastoreServiceTestConfig();
cfg.setApplyAllHighRepJobPolicy()
LocalServiceTestHelper helper = new LocalServiceTestHelper(cfg);
helper.setUp();
在开发服务器上,这些类不可用,那么有没有办法让 HRD 在开发服务器上没有未申请的工作?
(使用 JVM 标志为开发应用服务器启用 HRD - Ddatastore.default_high_rep_job_policy_unapplied_job_pct
。如果我将其设置为零,它将禁用 HRD 并改用主从数据存储)
我不能简单地使用主从数据存储,因为至少使用 objectify (4.0b) 这会给跨组事务带来麻烦。他们将失败并显示以下消息:cross-group transaction need to be explicitly specified
.