Java 从Google AppEngine切换到其他服务器

Java 从Google AppEngine切换到其他服务器,java,google-app-engine,porting,code-migration,Java,Google App Engine,Porting,Code Migration,目前我正在Google AppEngine(GAE)上构建我的Java Web应用程序,但由于它们有很多限制,我担心我将不得不从GAE切换到我自己的运行Glassfish的服务器(或者如果需要,我可以设置任何其他服务器)。我还计划运行Oracle或MySql数据库。要从GAE切换到服务器,我需要做什么?我需要重写我的代码吗?我应该继续使用Datanucleus还是切换到其他应用程序?还有什么吗?如果不知道你是如何编写应用程序的,我们将无法给出很好的建议。您是否创建了将数据存储访问与业务逻辑分离的

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

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


您应该做的第一件事是查看所有导入语句。任何时候你看到一个com.google.something在那里,你知道你需要改变它。关于如何编写应用程序,您没有给出太多细节,但如果您询问datanucleus,您可能使用的是JDO或JPA,这意味着您可以重用大部分数据层。您可能需要更改一组关键字段,以及一些特定于gae的注释。您可能需要仔细检查如何处理事务,因为在SQL数据库中可能会有所不同,因为SQL数据库不像GAE那样使用实体组。

为什么不遵循原始Google campfire中提供的信息?IBM做了一个关于如何使用DB2运行AppEngine应用程序的演示。他们只是在类路径中删除datanucleus rdbms jar,更改连接URL等,然后运行它。就像这个PDF


--Andy(DataNucleus)

我没有尝试过,但出于好奇,有一个名为appscale的开源GAE实现,GAE的主要限制因素是什么?1)文件大小限制2)一些JEE5功能3)数据库(希望使用Oracle或MySql)4)控制我的服务器基础设施这是四个主要方面。我还没有决定是否要换工作,只是收集信息,工作人员会做出决定。哇。那很酷。他们已经实现了User和UrlFetch服务。除了配置之外,唯一真正的代码更改是重构某些键类型和更改导入语句。