谷歌应用引擎文档说:
后端与您的主应用程序版本共享 web.xml 中定义的一组 servlet
我们在我们的谷歌引擎应用程序中使用 Spring Framework,因此我们在 web.xml 中仅定义 spring dispatcherServlet 我的期望是具有单独 url 的 Spring servlet 可以作为“后端实例”触发。但是我不知道如何在给定的“子域”上定义 spring servlet 的 url。
我正在尝试使用队列任务“doStuffQueue”调用后端“myBackendId”:
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 将其作为标准前端实例运行,因为子域被忽略,所以这个 url 被调用:
myAppId.appspot.com/doTask
作为解决方法,我尝试像这样定义 TaskOption:
TaskOptions.Builder.withUrl("myBackendId.myAppId.appspot.com/doTask")
但这在架构中是不允许的,因为 url 必须以/开头