Google app engine Google应用程序引擎:python延迟库的Java版本?
有人知道python延迟库的java版本吗?或者是关于如何实施的想法Google app engine Google应用程序引擎:python延迟库的Java版本?,google-app-engine,Google App Engine,有人知道python延迟库的java版本吗?或者是关于如何实施的想法 编辑:AppEngine有,但该库仅适用于python。我正在寻找类似的东西,但它可以与GAE/Java一起工作。不,这只是python的,没有透露实现它的方法。您链接到的延迟库依赖于App Engine中的任务队列API。任务api在java中可用。然而,java作为一种语言,并不像python那样真正允许将函数/方法作为参数传递。因此,延迟库的java版本可能不会像python版本那样好看 如果要创建一个接口(假设没有人向
编辑:AppEngine有,但该库仅适用于python。我正在寻找类似的东西,但它可以与GAE/Java一起工作。不,这只是python的,没有透露实现它的方法。您链接到的延迟库依赖于App Engine中的任务队列API。任务api在java中可用。然而,java作为一种语言,并不像python那样真正允许将函数/方法作为参数传递。因此,延迟库的java版本可能不会像python版本那样好看 如果要创建一个接口(假设没有人向我们指出一个现有的接口),可以定义一些接口,如
可延迟的
,并将要延迟的操作封装到满足该接口的对象中。然后,您必须实现一个可以处理这些对象的处理程序,并配置一个队列
,以使用该处理程序
考虑到Java与python相比的动态性相对较低,这里的棘手部分是使可延迟接口易于使用,并且语法甜美
作为一个非常有限的实现,您可以说延迟只是一个需要运行的URL。然后,您的可延迟接口只需要一个返回字符串的方法,您的处理程序可以非常简单。OTOH,您刚刚将复杂性降低到了您将实现该URL的任何位置。已经有了关于deferred的Java版本的工作,但没有发布任何内容。搜索google appengine java组的档案可能会发现一些实现此功能的用户代码。请记住,它没有Python那么整洁-您必须声明一个实现特定接口的可序列化类,而在Python中,几乎任何函数或方法都可以 JDeferred是一个Java延迟/承诺库,类似于JQuery的延迟对象
// deferred object and promise
Deferred deferred = new DeferredObject();
Promise promise = deferred.promise();
promise.done(new DoneCallback() {
public void onDone(Object result) {
...
}
}).fail(new FailCallback() {
public void onFail(Object rejection) {
...
}
}).progress(new ProgressCallback() {
public void onProgress(Object progress) {
...
}
}).always(new AlwaysCallback() {
public void onAlways(State state, Object result, Object rejection) {
...
}
});
// with the reference to deferred object, you can then trigger actions/updates
deferred.resolve("done");
deferred.reject("oops");
deferred.progress("100%");
你能解释一下吗,两者都有应用程序引擎SDK