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