【发布时间】:2016-10-01 11:10:19
【问题描述】:
更新:如果我删除与交易相关的代码,它似乎可以工作,为什么会这样?
我在使用 GAE DatastoreService 构建简单的 hello world 时遇到了问题。我只是想把东西放进去然后列出来,下面的代码应该创建两个实体并把它们放进去,然后查询它们并把它们列出来。但是我没有得到列表,查询迭代是空的。没有错误发生。
public static void main (String[] args) throws Throwable {
// setup HRD datastore
LocalUserServiceTestConfig lustc = new LocalUserServiceTestConfig ();
LocalDatastoreServiceTestConfig ldstc = new LocalDatastoreServiceTestConfig ();
ldstc.setDefaultHighRepJobPolicyUnappliedJobPercentage (100);
LocalServiceTestHelper helper = new LocalServiceTestHelper (lustc, ldstc).setEnvIsLoggedIn (true)
.setEnvAuthDomain ("localhost")
.setEnvEmail ("test@localhost");
helper.setUp ();
// hello world
try {
DatastoreService service = DatastoreServiceFactory.getDatastoreService ();
Entity e = new Entity ("foo");
e.setProperty ("fooey", new Text ("hello world"));
Transaction t = service.beginTransaction (withXG (true));
service.put (t, e);
e = new Entity ("bar");
e.setProperty ("bary", "goodbye world");
service.put (t, e);
t.commitAsync ().get ();
System.err.println ("foo:");
for (Entity s : service.prepare (new Query ("foo")).asIterable ())
System.err.println (s);
System.err.println ("bar:");
for (Entity s : service.prepare (new Query ("bar")).asIterable ())
System.err.println (s);
} finally {
// teardown
helper.tearDown ();
}
}
我的实际输出:
Mar 11, 2015 4:46:24 PM com.google.appengine.api.datastore.dev.LocalDatastoreService init
INFO: Local Datastore initialized:
Type: High Replication
Storage: In-memory
foo:
bar:
我希望我的实体会出现在那里,我怎么看不到它们?
编辑:
我很确定这些是完成这项工作所需的 Maven 罐子:
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-1.0-sdk</artifactId>
<version>1.9.18</version>
</dependency>
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-testing</artifactId>
<version>1.9.18</version>
<!--scope>test</scope-->
</dependency>
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-stubs</artifactId>
<version>1.9.18</version>
<!--scope>test</scope-->
</dependency>
【问题讨论】:
标签: java google-app-engine google-cloud-datastore