谷歌应用程序引擎文档显示:
后端与您的主应用程序版本共享在web.xml中定义的一组servlet
我们在google应用程序中使用Spring,所以我们只在dispatcherServlet中定义web.xml,我的期望是,具有单独url的servlet可以作为“后端实例”被触发。但是,我不知道如何在给定的“子域”上定义servlet的url。
我试图使用队列任务"myBackendId“调用后端"doStuffQueue”:
Queue queue = QueueFactory.getQueue("doStuffQueue");
TaskOptions taskOptions = TaskOptions.Builder.withUrl("/doTask/")
.param("someParam", someParam)
.header("Host", BackendServiceFactory.getBackendService().getBackendAddress("myBackendId"))
.method(Method.POST);
queue.add(taskOptions);
但是上面的TaskOption将它作为standart前端实例运行,因为子域被忽略了,所以这个url被调用:
myAppId.appspot.com/doTask
作为解决办法,我试图像这样定义TaskOption:
TaskOptions.Builder.withUrl("myBackendId.myAppId.appspot.com/doTask")
但是这在模式中是不允许的,因为url必须从/开始
发布于 2013-01-22 01:07:50
您的代码是正确的,我想您可能在注释定义中有问题。
确保您使用的是RequestMethod.POST。另外,我认为您可能必须使用"/ task /doTask“来启动任务urls,例如:
@RequestMapping(value = "/task/doTask",method ={ RequestMethod.POST })
https://stackoverflow.com/questions/14447603
复制相似问题