我想做的很多工作都涉及长时间运行的流程,我想在托管环境中运行,并为用户提供Web界面,以查看长时间运行的作业的结果。
我相信Google App Engine及其"模块"功能(https://cloud.google.com/appengine/docs/java/modules/)是一项很棒的服务,但我一直在努力弄清楚如何为此目的设置它(请参阅App Engine Modules with GWT,Possible to use Google Modules with Google Plugin for Eclipse?,How use Eclipse to develop Google Modules for Google Cloud?) 。有人可能一直试图做同样的事情(参见:how to create gwt gae with app engine modules using google eclipse plugin)但是没有接受的答案,而且我正在寻找更全面的指示。
有人可以提供一系列逐步说明来设置涉及以下项目架构的以下Hello World项目吗?
要求
项目架构
开发环境
答案 0 :(得分:0)
您的第一个模块是GWT应用。它提供了一个用户界面。
当用户发起请求时,您对同一模块中的某个服务进行标准RPC调用。在此服务中,您可以使用Task API创建任务。此任务包括target parameter,指向您的第二个模块。
或者,您可以直接向第二个模块进行REST调用。
您在Eclipse中不需要任何特殊功能来创建此设置。您只需在现有项目中创建一个名为EAR的新目录,然后创建/复制一堆配置文件。 Modules Configuration提供了有关如何执行此操作的详细说明。如果您熟悉后端,则可以通过阅读Converting backends to Modules来了解该过程。
您可以创建两个单独的Eclipse项目 - 每个模块一个,但不是必需的。您只需为每个模块使用单独的源目录即可。例如,如果您将模块命名为" gwtapp"和"后端"您可以在项目中创建以下包:
gwtapp.src.com.myproject...
backend.src.com.myproject...
然后打开构建路径(项目属性> Java构建路径),单击“源”选项卡,然后单击“添加文件夹”。添加两个文件夹:
gwtapp/src
backend/src
到你的项目。对于每个项目,选择一个不同的输出文件夹:gwtapp/src
将指向MyProject/ear/gwtapp/war/WEB-INF/classes
,backend/src
将指向MyProject/ear/backend/war/WEB-INF/classes
。当然,在执行此步骤之前,您必须创建这些文件夹(ear/gwtapp/war/WEB-INF
和ear/backend/war/WEB-INF
)。