2008-12-24 72 views
1

我想創建一個簡單的使用RPC的Google Web Toolkit應用程序。爲了持久化,我想使用諸如Java持久性API之類的東西。通過我的GWT應用程序使用JPA的最簡單方法

這是否意味着我必須使用像Glassfish這樣的應用服務器?或者我可以堅持一個簡單的網絡容器?

就具體圖書館而言,我應該如何進行? TopLink的?休眠? ...

回答

3

我相信GWT RPC的東西是作爲簡單的servlet實現的。假設您完全可以在像Tomcat這樣的Web容器中使用JPA,並且不需要完整的J2EE應用程序服務器。

要做到這一點,您需要進行一些手動設置來簡化對PersistenceContext的訪問。 Hibernate建議使用ThreadLocal,並在我的博客上有一個條目,詳細說明我如何爲Tomcat做到這一點。here

2

我個人推薦Glassfish,因爲它更穩定,實施更好,而且通常Tomcat的質量更高。我不想開始一場火焰戰爭(說把J2EE放入Tomcat就好比把口紅放在豬身上),但我會告訴你我們是如何部署我們所有的應用程序的:

我們使用Glassfish作爲web容器,TopLink作爲持久性提供者,通常連接到MySQL 5數據庫。我們通過RPC從EJB層,Web層和GWT層一路使用JPA POJO。我們還爲所有不需要AJAX功能的表示邏輯使用Stripes和JSP。這種方法我們從來沒有遇到任何問題,並且迄今爲止已經完成了至少10個這樣的大型項目。這是我們迄今爲止最好的架構,而且我們有很多(tomcat,jboss,hibernate,struts,spring等等)。

+0

如何通過網頁GWT圖層使用JPA POJOS。我有序列化的問題 - 請幫助我的朋友! – 2011-04-05 14:47:55

1

你可以使用任何你喜歡的容器,我的意思是servlet和jpa容器。

關鍵是GWT不支持jpa,所以你必須使用DTO設計部分。 這將保持一切組織,你將不會有延遲加載的問題。