目前我正在 Google AppEngine (GAE) 上构建我的 Java Web 应用程序,但由于它们有很多限制,我担心我将不得不从 GAE 切换到我自己的运行 Glassfish 的服务器(或如果需要,我可以设置任何其他服务器)。我还计划运行 Oracle 或 MySql 数据库。为了从 GAE 切换到我的服务器,我需要做什么?我需要重写我的代码吗?我应该继续使用 Datanucleus 还是改用其他东西?还要别的吗?
3 回答
为什么不遵循原始 Google campfire 中提供的信息?IBM 做了一个关于如何使用 DB2 运行 AppEngine 应用程序的演示。他们只是将 datanucleus-rdbms jar 放到 CLASSPATH 中,更改连接 URL 等,然后运行它。就像在这个 PDF http://download.boulder.ibm.com/ibmdl/pub/software/dw/wes/hipods/GAE_Java_Interoperability.pdf
——安迪(DataNucleus)
如果不知道您是如何编写应用程序的,我们将无法提供非常好的建议。您是否创建了将数据存储访问与业务逻辑分开的数据访问层?或者您是否在各处传递应用程序引擎特定的对象?您使用的是 gae 用户服务吗?还是内存缓存?
您应该做的第一件事是查看所有导入语句。每当您在其中看到 com.google.something 时,您就知道需要对其进行更改。您没有提供有关如何编写应用程序的详细信息,但如果您询问 datanucleus,您可能正在使用 JDO 或 JPA,这意味着您可以重用大部分数据层。您可能有一堆必须更改的 Key 字段,可能还有一些 gae 特定的注释。您可能需要仔细检查您如何处理事务,因为这在 SQL 数据库中可能会有所不同,它不像 GAE 那样使用实体组。