我在Google AppEngine中使用多个模块,并且想知道是否可以运行开发服务器(Java版本),以便分配给不同模块的端口始终相同?目前他们似乎是随机的。我可以决定这些端口吗?我希望能够以可持续的方式(从发展角度)建立模块之间的沟通。目前,如果我们有两个模块,我们称它们为A和B,并且我们想要使用模块B中的模块A公开的服务,但没有简单的方法知道从模块B打哪个URL。开发服务器上的GAE模块
6
A
回答
-2
虽然modules service可能会在这种情况下有用,我相信它会工作,我用一种不同的方式解决问题。
我修改了我的构建脚本以在本地主机上运行所有模块,但是在不同的端口上(实际上有几个本地appengine实例正在运行)。配置信息(IP:PORT)存储在配置文件中,任何模块均可轻松访问。对于部署,我仍然将应用程序打包成耳朵存档。
1
我不知道我们不认为Google会为这个问题提供任何简单的方法。您必须使用the modules service并使用getLinkToA(String)
和getLinkToB(String)
等方法将其包装到您的帮助类(例如LinkFactory
)中,并将它们随处创建到模块的链接。
如果您使用the dispatch file,则同样的(也是更大的)问题。这实际上是一个更大的问题,因为您的前端应用程序的某些部分可能会失败,因为路由在开发服务器中不起作用。
+0
必须承认它是一个巨大的问题,让事情轻松开始。 –
8
可以使用JVM参数设置每个模块的端口。
-Dcom.google.appengine.devappserver_module.{module_name}.port=8081
我使用应用服务引擎-行家-插件具有以下配置(我的定制模块被称为“分析”):
<plugin>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<configuration>
<jvmFlags>
<jvmFlag>-Ddatastore.backing_store=${project.basedir}/target/local_db.bin</jvmFlag>
<jvmFlag>-Xdebug</jvmFlag>
<jvmFlag>-Dcom.google.appengine.devappserver_module.analysis.port=8081</jvmFlag>
<jvmFlag>-XX:MaxPermSize=512m</jvmFlag>
<jvmFlag>-agentlib:jdwp=transport=dt_socket,address=8001,server=y,suspend=n</jvmFlag>
</jvmFlags>
<enhancerApi>JPA</enhancerApi>
<fullScanSeconds>2</fullScanSeconds>
</configuration>
</plugin>
当运行MVN应用服务引擎:devserver然后对应于该日志该模块是这样的:
[INFO] INFO: Started [email protected]:8081
[INFO] Jun 10, 2014 10:44:16 AM com.google.appengine.tools.development.JettyContainerService startHotDeployScanner
[INFO] INFO: Full scan of the web app in place every 2s.
[INFO] Jun 10, 2014 10:44:16 AM com.google.appengine.tools.development.AbstractModule startup
[INFO] INFO: Module instance analysis is running at http://localhost:8081/
[INFO] Jun 10, 2014 10:44:16 AM com.google.appengine.tools.development.AbstractModule startup
[INFO] INFO: The admin console is running at http://localhost:8081/_ah/admin
[INFO] Jun 10, 2014 11:44:16 AM com.google.appengine.tools.development.DevAppServerImpl doStart
[INFO] INFO: Dev App Server is now running
我希望它有帮助。
2
您可以通过模块的appengine-web.xml
文件中的系统属性设置模块的端口。例如:
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<module>MY_MODULE</module>
<version>v1</version>
<threadsafe>true</threadsafe>
<system-properties>
<property name="com.google.appengine.devappserver_module.MY_MODULE.port"
value="8081"/>
</system-properties>
</appengine-web-app>
相关问题
- 1. 在GAE开发服务器上嘲笑?
- 2. Webpack开发服务器和css模块
- 3. 使用Java的本地开发服务器上的模块
- 4. GAE开发服务器上的SMTP电子邮件 - 如何? Python 2.5.4,GAE SDK 1.7.4
- 5. DotNetNuke的模块开发与web服务
- 6. GAE/Go挂在本地开发服务器上
- 7. 在Gogland上调用GAE/Go本地开发服务器
- 8. 模块不在Google App Engine中开始在开发服务器上的Python
- 9. 任务队列不适用于开发服务器上的多个模块
- 10. 块开发服务器窗口
- 11. 防火墙块去开发服务器
- 12. Django的研究与开发服务器模块未安装,但
- 13. GAE - Eclipse中的开发服务器不更新?
- 14. GAE开发服务器的memcached不会返回任何
- 15. 代码在开发服务器上工作,无法在GAE上启动
- 16. GAE dev服务器忽略请求模块版本?
- 17. 访问模块在GAE dev服务器中被拒绝
- 18. 选择本地开发服务器上的特定端口非默认模块
- 19. 在Linux CI服务器上的GAE
- 20. GAE - ClassNotFoundException的部署Appspot上服务器
- 21. 使用Laravel和PHP 5.5的GAE本地开发服务器上的错误500
- 22. 共享开发服务器上的Subversion
- 23. 开发服务器上的Azure问题
- 24. 开发Web服务器上的基本Subversion服务器问题
- 25. 如何在GAE开发服务器的/ *上安装Wicket应用程序?
- 26. Blobstore问题GAE云工具和本地开发服务器
- 27. 部署gae到开发服务器停止工作
- 28. Sendmail不适用于本地GAE本地开发服务器
- 29. GAE开发服务器管理控制台(java + intellij想法)
- 30. 模仿与Visual Studio开发服务器
你能分享你的配置设置吗? –
您是如何设置每个模块的不同端口的? – Gapipro
这不是一个有用的答案,因为它建议的方法完全不同于既定的做法和Google自己的文档。最好的答案是nomukaiki,因为这正是Google官方示例应用程序所做的。 –