Java GAE DeferredTask示例?

Dan*_*ich 7 java google-app-engine

我对Java DeferredTask的文档感到有点困惑.我在这里阅读了Python文档:http://code.google.com/appengine/articles/deferred.html但我还不清楚我是如何使用Java版本的.

你能提供工作示例代码来启动DeferredTask来使用DatastoreService进行简单的写操作吗?

Nic*_*son 13

要使用deferred,首先必须定义一个包含要运行的代码的类:

class MyDeferred implements DeferredTask {
    @Override
    public void run() {
        // Do something interesting
    }
};
Run Code Online (Sandbox Code Playgroud)

就像任何其他可序列化类一样,您可以拥有存储有关任务的相关信息的本地人员.然后,要运行任务,请实例化类的实例并将其传递给任务队列API:

MyDeferred task = new MyDeferred();
// Set instance variables etc as you wish
Queue queue = QueueFactory.getDefaultQueue();
queue.add(withPayload(task));
Run Code Online (Sandbox Code Playgroud)

您甚至可以为您的任务使用匿名内部类,但要注意这里的注释中描述的警告.

  • 像这样的东西可以添加到文档中,这样就不那么容易混淆了吗?我刚刚错过了将任务添加到队列中的部分.文档中DeferredTaskQueue的部分只是一个小段落.希望这会有所帮助,并感谢您花时间发布此内容!+1 :) (5认同)