当前位置: 首页 > 面试题库 >

在一台开发服务器上服务多个GAE模块?

古棋
2023-03-14
问题内容

我正在将一些后端转换为模块,并在设置开发环境配置时感到困惑。我在Eclipse中使用Java,但未在Maven中使用Java。架构非常简单:

  • 前端模块为默认模块。基本的GAE / GWT应用程序。将项目放入任务队列。
  • 后端模块处理任务队列。

使用旧的后端体系结构,一个调试配置将启动开发服务器,该服务器将为GWT DevMode UI 后端任务处理提供服务。

问题的症结在于DevMode的参数提供了-
war命令行参数。现在,我们不再有单个war文件(耳朵包含两个war文件),我们必须独立启动它们。很好,我们可以创建启动前端和后端的启动组。

问题在于,每个war文件都有自己的WEB-INF / appengine-generated /
local_db.bin,它实际上创建了两个独立的应用程序。我在这里想念什么吗?我需要能够在我的前端RPC服务
处理新后端中的任务队列项的servlet中放置一个断点,并使它们都在一个调试会话中命中。

感谢您的任何想法。


问题答案:

如果您按照此处的说明进行操作,这将在Eclipse中创建模块化的应用程序结构,而完全不使用Maven。您将需要Eclipse
WTP,以提供所需的项目类型(企业应用程序项目和动态Web项目)。

Eclipse项目结构应如下所示:

<<Enterprise Application Project>> ear-app
    |
    | (refers to)
    |
<<Dynamic Web Project>> app-module-1  "default"
<<Dynamic Web Project>> app-module-2  "any_name_2"
<<Dynamic Web Project>> app-module-3  "any_name_3"
<<Dynamic Web Project>> app-module-4  "any_name_4"

“名称”的值是指appengine-web.xml中的“模块”元素,而物理Web项目可以具有任何名称。

请注意,您需要切换到J2EE透视图才能使GPE WTP菜单选项可用,但它们不会显示在标准Java透视图中。

接下来,您需要将EAR项目链接到新的本地服务器实例(类型为“ Google App Engine”)。

在appengine-web.xml中,只有一个Web模块必须标记为“默认”。

将EAR部署到本地服务器后,数据存储位置在 默认 Web模块的WEB-INF / appengine-generated /
local_db.bin中,并且在Web模块之间共享。



 类似资料:
  • 问题内容: 我正在尝试在开发GAE服务器上模拟HTTPServletRequest数据。我正在运行Eclipse插件1.3.7 我试图做到这一点: 运行以下命令会产生异常: java.lang.NoClassDefFoundError:sun.reflect.ReflectionFactory是一个受限类。有关更多详细信息,请参阅Google App Engine开发人员指南。 关于如何在GAE开

  • null null 谢谢你的回答。

  • 我正在使用谷歌服务帐户将MySQL备份从我们的网络服务器推送到谷歌云端硬盘,使用谷歌API PHP客户端脚本设置为cron作业。 我现在想在多个网络服务器上运行相同的脚本,我不知道如何正确配置服务号,应该吗? > 是否在所有服务器上使用相同的服务帐户和服务帐户密钥/凭据? 或者使用相同的服务帐户,但为每个服务器添加服务帐户密钥/凭据? 还是为每台服务器设置单独的服务帐户?

  • 5.12.1. 在Windows下运行多个服务器 5.12.2. 在Unix中运行多个服务器 5.12.3. 在多服务器环境中使用客户端程序 在一些情况下,你可能想要在同一台机器上运行多个mysqld服务器。你可能想要测试一个新的MySQL发布,同时不影响现有产品的设置。或者,你可能想使不同的用户访问来访问不同的mysqld服务器以便他们自己来管理。(例如,你可能是一个Internet服务提供商,

  • 我有以下服务: 和其他服务 我有我的Junit 当我在调试模式下运行这个测试时,我看到这个。合同服务。getInfo(multipartFileId) 正在返回我“null”。 我在嘲弄中错在哪里。 我刚刚在JUnit中嘲笑了ContractService。我还需要模拟AccountServiceImpl吗? 编辑:添加saveInCache和getInfo方法

  • 我正在构建一个。NET核心web应用程序,在服务器端我为计划任务和长期运行任务添加了hangfire。在我添加的startup.cs文件中: 在configure函数中,我添加了以下内容: 是否有一种方法可以确保只有一个服务器在运行?或者,如果我可以在停止应用程序(IIS)时关闭服务器,并在运行应用程序时再次启动它