为什么未来<> ApiProxy.Delegate.makeAsyncCall() 的结果从未使用过?

发布于 2024-12-27 17:54:25 字数 961 浏览 0 评论 0 原文

我正在使用 GAE hooks 并尝试关注 Nick 的博客发布。但显然它有点过时了,因为它没有实现我的 GAE SDK 1.6.1 中存在的 makeAsyncCall

这是我的代码片段

public class MultiTenantHook implements Delegate
{
    @Override
    public Future<byte[]> makeAsyncCall(final Environment env, final String pkgName, final String method, final byte[] request, ApiProxy.ApiConfig config)
    {
        Callable<byte[]> callable = new Callable<byte[]>()
        {
            @Override
            public byte[] call() throws Exception
            {
                return makeSyncCall(env, pkgName, method, request);
            }
        };

        FutureTask<byte[]> task = new FutureTask<byte[]>(callable);
        return task;
    }
}

该方法正在被调用,但返回的 Future<> 从未被 GAE 使用。内部类的 call() 方法永远不会被执行。

你知道如何让它发挥作用吗?

I'm playing with GAE hooks and trying to follow Nick's blog post. But apparently it's somewhat outdated because it doesn't have implementation of makeAsyncCall which exists in my GAE SDK 1.6.1.

Here is snippet of my code

public class MultiTenantHook implements Delegate
{
    @Override
    public Future<byte[]> makeAsyncCall(final Environment env, final String pkgName, final String method, final byte[] request, ApiProxy.ApiConfig config)
    {
        Callable<byte[]> callable = new Callable<byte[]>()
        {
            @Override
            public byte[] call() throws Exception
            {
                return makeSyncCall(env, pkgName, method, request);
            }
        };

        FutureTask<byte[]> task = new FutureTask<byte[]>(callable);
        return task;
    }
}

This method is being called but returned Future<> is never used by GAE. call() method of inner class is never executed.

Do you know how to make it work?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文