【问题标题】:Switch from Google AppEngine to another server从 Google AppEngine 切换到另一台服务器
【发布时间】:2009-07-18 04:15:21
【问题描述】:

目前我正在 Google AppEngine (GAE) 上构建我的 Java Web 应用程序,但由于它们有很多限制,我担心我将不得不从 GAE 切换到我自己正在运行的服务器Glassfish(或者如果需要,我可以设置任何其他服务器)。我还计划运行 Oracle 或 MySql 数据库。为了从 GAE 切换到我的服务器,我需要做什么?我需要重写我的代码吗?我应该继续使用 Datanucleus 还是改用其他东西?还有什么?

【问题讨论】:

  • 只是出于好奇,gae 对您不起作用的主要限制因素是什么?
  • 1) 文件大小限制 2) 一些 JEE5 特性 3) 数据库(想使用 Oracle 或 MySql) 4) 控制我的服务器基础设施 这是四个主要的。我还没有决定是否要切换,只是收集信息和意志决定。

标签: java google-app-engine porting code-migration


【解决方案1】:

为什么不按照原始 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)

【讨论】:

  • 哇。这很酷。他们已经实现了 User 和 UrlFetch 服务。除了配置内容之外,唯一真正的代码更改是重构某些键类型和更改导入语句。
【解决方案2】:

如果不知道您是如何编写应用程序的,我们将无法提供非常好的建议。您是否创建了将数据存储访问与业务逻辑分开的数据访问层?或者你是否到处传递应用引擎特定的对象?您使用的是 gae 用户服务吗?还是内存缓存?

您应该做的第一件事是查看所有导入语句。每当您在其中看到 com.google.something 时,您就知道您需要对其进行更改。您没有提供有关如何编写应用程序的详细信息,但如果您询问 datanucleus,您可能正在使用 JDO 或 JPA,这意味着您可以重用大部分数据层。您可能有一堆必须更改的关键字段,可能还有一些特定于 gae 的注释。您可能需要仔细检查您如何处理事务,因为这在 SQL 数据库中可能会有所不同,它不像 GAE 那样使​​用实体组。

【讨论】:

    【解决方案3】:

    我没有尝试过,但是有一个 GAE 的开源实现,叫做 appscale http://code.google.com/p/appscale/

    【讨论】:

      猜你喜欢
      • 2014-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 2010-11-17
      • 2011-02-05
      相关资源
      最近更新 更多