如何将数据从常规无状态servlet传递到后端实例?

时间:2011-10-27 22:18:12

标签: java google-app-engine backend

我从未使用过Google App Engine后端,因为缺乏样本和详细的文档,我感到非常困惑。

假设我有投票应用。我想在常规无状态GAE servlet中收集投票,​​然后将数据传递给驻留的后端实例并处理我的数据。如何将数据从常规servlet传递到后端servlet?如何指定哪个servlet类是普通的servlet,以及应该只在后端实例中处理哪个servlet?我没有看到如何在config xml中将servlet分配给后端。

或者如果我有两个后端怎么办 - B1级和B2级。如何在无状态servlet的代码中选择现在有哪些后端处于活动状态?我听说我应该使用URL Fetch与后端交谈,但是如何?我没有找到如何迭代后端实例。

请告知:)

1 个答案:

答案 0 :(得分:3)

您应该首先阅读the documentation on backends

  

如何将数据从常规servlet传递到后端servlet?

您有几个选项 - 通过在memcache或数据存储区中粘贴数据来间接传递它。或者通过使用URLFetch直接传递它来向后端发出请求(请参阅下面的地址信息)

  

如何指定哪个servlet类是普通的servlet,以及应该只在后端实例中处理哪个servlet?

Backend Configuration上的文档解释了您尚未执行此操作,但您可以将它们标记为仅限管理员,以便公众无法使用它们:

  

后端与您的主应用程序版本共享web.xml中定义的servlet集。目前无法为每个后端配置一组单独的servlet。

“寻址后端”部分包含有关如何连接到特定后端的信息:

  

后端实例的目标是HTTP请求到http:// [instance]。[backend]。[app] .appspot.com,或者在应用程序的自定义域中。如果您使用http:// [backend]。[app] .appspot.com定位后端而不定位实例,则App Engine会选择后端的第一个可用实例。

配置后端时,为它们指定名称,这些名称将进入上述url方案中的[backend]插槽。如果您想向第一个可用的B1实例发送http请求,您可以使用类似 http://B1.ruslansapp.appspot.com/dosomething/

的内容