2013-07-01 36 views
0

我使用JPA2爲數據庫訪問製作了一個GAE項目。我存儲了一些超過500個字符的字符串,因此我使用com.google.appengine.api.datastore.Text。存儲超過500個字符的字符串/文本值,使用和不使用GAE

我有一個接口Script.java,它將值定義爲String,以及一個ScriptImpl.java,它內部具有一個Text成員,並轉換爲獲取和設置。

因爲該項目的一個要求是,它仍然能夠運行在一個簡單的tomcat上,並且有一個數據庫。所以它必須能夠在谷歌環境內外運行。

是否有一些現實的方式來實現我的應用程序,所以我可以切換到一個普通的tomcat環境(例如通過彈簧配置使用不同的bean ...)。

我還有什麼需要注意的是在兩種環境中都能做到這一點,我如何照顧到GAE所縫合的部件?

更新:到目前爲止,我發現下面的評論家的問題:谷歌用戶服務&登錄過程中,領域模型文本類,Wicket的GAE初始化程序(因爲我使用的檢票)

回答

2

GAE擁有自己的專有API。如果你使用這個API編寫應用程序,那麼如果你想離開GAE,你有兩個選擇:

  1. 重寫你的代碼,顯然。
  2. 使用實現GAE API但在其他平臺上運行的API包裝器。這種包裝的例子是AppScaleCapeDwarf。 AppScale較舊,可能更成熟,並支持Java和Python。它還支持更多的平臺(私人服務器+雲)。 OTOH,CapeDwarf是針對JBossAS7的,所以如果你使用該服務器(或OpenShift雲),它可能更適合。另外我想你可以期待一個成熟的開源領袖如RedHat提供更好的支持。
1

雖然從理論上講,可能會包裝GAE功能,然後將其委託給應用引擎或您的「正常」環境,這可能需要很多努力。

可能另一種方法會更容易。你知道CapeDwarf嗎?

JBoss CapeDwarf

部署和自己的私人 JBoss應用服務器(AS7)羣集或RedHat的OpenShift雲上運行的Java App Engine應用程序。

JBoss CapeDwarf是Google App Engine API的一個實現, 允許應用程序部署在JBoss應用程序服務器 上而無需修改。在幕後,CapeDwarf使用現有的JBoss API,如Infinispan,JGroups,PicketLink,HornetQ等。

如果真的需要「簡單的tomcat與數據庫」,那麼更多的信息或約束將有助於瞭解。

相關問題