Java GAE任务队列CallNotFoundException

时间:2017-04-11 19:37:29

标签: java google-app-engine servlets task-queue

尝试实现推送队列时,我收到以下错误:

com.google.apphosting.api.ApiProxy$CallNotFoundException: Can't make API call taskqueue.BulkAdd in a thread that is neither the original request thread nor a thread created by ThreadManager

在我的servlet的doPost()方法中,这是我的任务:

Queue queue = QueueFactory.getQueue("rating-queue");
queue.add(TaskOptions.Builder.withUrl("/addrating")
     .param("function", function)
     .param("user_id", Integer.toString(user_id))
     .param("item_id", Integer.toString(item_id))
     .param("is_user", Boolean.toString(isUser)));

在我的web.xml文件中:

<servlet>
    <servlet-name>AddRating</servlet-name>
    <servlet-class>com.example.ExampleClass</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>AddRating</servlet-name>
    <url-pattern>/addrating</url-pattern>
</servlet-mapping>

这是我的WEB-INF文件夹中的queue.xml文件:

<queue-entries>
    <queue>
        <name>default</name>
        <rate>5/s</rate>
    </queue>
    <queue>
        <name>rating-queue</name>
        <rate>5/s</rate>
    </queue>
</queue-entries>

我在本地运行我的servlet。我的应用引擎控制台中没有可见的任务队列。

0 个答案:

没有答案