使用JPA2将数据异步放入Google数据存储区

时间:2013-03-26 18:19:36

标签: google-cloud-datastore jpa-2.0 datanucleus google-cloud-endpoints

我使用JPA2 @entity来表示我的模型。我需要将数据异步放入数据存储区。我该怎么办?如果JPA Dao不能这样做,我可以在JPA实体上使用AsyncDatastoreService而不是JPQL吗?有人有例子吗?

(我知道在Python中这将是一个笑话,因为我可以扩展ndb.Model来创建模型,然后在它们上调用put_async。但是在Java中没有ndb.Model扩展所以我使用JPA 。)

1 个答案:

答案 0 :(得分:1)

我非常希望不必使用以下ThreadManager.createBackgroundThread。但到目前为止,我发现了所有这一切。有没有其他人有更简单的东西(比如python的put_async)?

import com.google.appengine.api.ThreadManager;
import java.util.concurrent.AtomicLong;

AtomicLong counter = new AtomicLong();

Thread thread = ThreadManager.createBackgroundThread(new Runnable() {
  public void run() {
    try {
      while (true) {
        counter.incrementAndGet();
        Thread.sleep(10);
      }
    } catch (InterruptedException ex) {
      throw new RuntimeException("Interrupted in loop:", ex);
    }
  }
});
thread.start();