有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Appscale无法读取队列。xml?

我们的GAE应用程序使用了大量队列,我们添加了自定义队列,最初默认为:

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

在我们的例子中,我们添加了更多的条目

您可以根据需要在此处添加更多队列,但由于出现以下错误,Appscale似乎无法提取添加的条目:

Mar 26 18:09:48 appscale-image0 #011at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Mar 26 18:09:48 appscale-image0 Caused by: java.lang.IllegalStateException: The specified queue is unknown : null
Mar 26 18:09:48 appscale-image0 #011at com.google.appengine.api.taskqueue.QueueApiHelper.translateError(QueueApiHelper.java:104)
Mar 26 18:09:48 appscale-image0 #011at com.google.appengine.api.taskqueue.QueueImpl$2.wrap(QueueImpl.java:547)
Mar 26 18:09:48 appscale-image0 #011at com.google.appengine.api.taskqueue.QueueImpl$2.wrap(QueueImpl.java:519)
Mar 26 18:09:48 appscale-image0 #011at com.google.appengine.api.utils.FutureWrapper.wrapAndCache(FutureWrapper.java:53)
Mar 26 18:09:48 appscale-image0 #011at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:90)
Mar 26 18:09:48 appscale-image0 #011at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:86)
Mar 26 18:09:48 appscale-image0 #011at com.google.appengine.api.taskqueue.QueueApiHelper.getInternal(QueueApiHelper.java:72)
Mar 26 18:09:48 appscale-image0 #011at com.google.appengine.api.taskqueue.QueueImpl.add(QueueImpl.java:411)

请注意,我们的应用程序正在使用GAE,并且我们没有修改我们在Appscale中部署的Java代码中的任何内容,所以我认为这是一个bug还是缺少功能


共 (1) 个答案

  1. # 1 楼答案

    Appscale不应该自行获取更改,您需要部署更新的队列配置,就像在GAE上一样

    请注意,在某些情况下(例如多服务应用程序),所有服务共享的应用程序级配置(如队列配置)可能不会通过重新部署持有这些配置的服务而自动更新。在这种情况下(通常是一种良好的做法),需要使用专用命令来独立于任何特定服务的部署来部署每个这样的应用程序级别配置

    Deploying the queue configuration file

    The queue.xml file should reside in the WEB-INF directory of the default service.

    To deploy the queue configuration file without otherwise altering the currently serving version, use the command:

    appcfg.sh update_queue <application directory>
    

    replacing <application directory> with the path to your application main directory.