首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >GAE后端实例调用与Spring集成

GAE后端实例调用与Spring集成
EN

Stack Overflow用户
提问于 2013-01-21 21:32:43
回答 1查看 135关注 0票数 0

谷歌应用程序引擎文档显示:

后端与您的主应用程序版本共享在web.xml中定义的一组servlet

我们在google应用程序中使用Spring,所以我们只在dispatcherServlet中定义web.xml,我的期望是,具有单独url的servlet可以作为“后端实例”被触发。但是,我不知道如何在给定的“子域”上定义servlet的url。

我试图使用队列任务"myBackendId“调用后端"doStuffQueue”:

代码语言:javascript
代码运行次数:0
运行
复制
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被调用:

代码语言:javascript
代码运行次数:0
运行
复制
 myAppId.appspot.com/doTask

作为解决办法,我试图像这样定义TaskOption:

代码语言:javascript
代码运行次数:0
运行
复制
 TaskOptions.Builder.withUrl("myBackendId.myAppId.appspot.com/doTask")

但是这在模式中是不允许的,因为url必须从/开始

EN

回答 1

Stack Overflow用户

发布于 2013-01-22 09:07:50

您的代码是正确的,我想您可能在注释定义中有问题。

确保您使用的是RequestMethod.POST。另外,我认为您可能必须使用"/ task /doTask“来启动任务urls,例如:

@RequestMapping(value = "/task/doTask",method ={ RequestMethod.POST })

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14447603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档