我正在尝试在 JAVA 中在 GAE 上构建一个聊天应用程序。我需要统计所有在线用户及其网络(某种聊天室),并且这些信息需要不断更新。我(错误地?)假设我可以只使用 Java 的 SerlvetContext 和 Set/Get Attribute 方法来更新在线\离线用户并与所有 servlet 共享该信息。据我所知(有可爱的错误),由于 GAE 是分布式\云服务,它不能有效地实现 ServletContext.setAttribute - 这意味着我的应用程序可能运行在多个 JVM 上,并且 ServletContext 上的信息仅共享在属于同一个 JVM 的 servlet 之间。
当然,这对我来说是个大问题。几个问题 - 1) ServletContext 确实不能在 GAE 上正常工作吗?2)对于像我这样的初学者网络开发者来说,GAE 是一个糟糕的选择吗?在我看来,我总是发现新的问题和不符合 Servlet\JSP 规则的东西。既然初学者学习 Servlets 已经够难了,也许 GAE 不是正确的选择?3)那么我怎样才能在 Servlet 之间共享信息?