我想创建一个使用 RPC 的简单 Google Web Toolkit 应用程序。对于持久性,我想使用 Java Persistence API 之类的东西。
这是否意味着我必须使用像 Glassfish 这样的应用服务器?还是我可以坚持使用简单的 Web 容器?
就具体库而言,我应该如何进行?顶联?休眠?...
我相信 GWT RPC 的东西是作为简单的 servlet 实现的。假设您完全可以在像 Tomcat 这样的 Web 容器中使用 JPA,并且不需要完整的 J2EE 应用服务器。
为此,您需要进行一些手动设置,以简化对 PersistenceContext 的访问。Hibernate 建议使用 ThreadLocal,我的博客上有一个条目,详细说明了我是如何为 Tomcat 执行此操作的
我个人会推荐 Glassfish,因为它比 Tomcat 更稳定、更好地实现并且通常质量更高。我不想引发一场激烈的战争(说将 J2EE 放入 Tomcat 就像给猪涂口红一样),但我会告诉你我们如何部署所有应用程序:
我们使用 Glassfish 作为 Web 容器,使用 TopLink 作为持久性提供程序,通常连接到 MySQL 5 数据库。我们一直使用 JPA POJO,从 EJB 层到 Web 层,以及 GWT 层,通过 RPC。我们还将 Stripes 和 JSP 用于所有不需要 AJAX 功能的表示逻辑。这种方法我们从来没有遇到过任何问题,到目前为止,我们已经用这种方法完成了至少 10 个大型项目。这是迄今为止我们所拥有的最好的架构,并且我们拥有很多(tomcat、jboss、hibernate、struts、spring 等)。
您可以使用任何您喜欢的容器,我的意思是 servlet 和 jpa 容器。
关键是GWT不支持jpa,所以你必须使用DTO设计parten。这将使一切井井有条,并且您不会遇到延迟加载的问题。