java - 如何在现有的Java应用程序中添加Python模块

标签 java python google-app-engine

我已经部署了一个使用数据存储的 GAE Java 应用程序。 现在,我需要将该应用程序拆分为模块,并使用用 Python 编写的第二个模块来访问同一数据存储区。 我找不到有关如何以以下方式在模块中拆分应用程序的有用信息:

  • 它在第一个模块中支持 Java,在第二个模块中支持 Python
  • 两个模块都可以访问相同的数据存储(我猜这意味着,因为它们都是同一 GAE 应用程序的一部分)

主要问题是:使用不同的编程语言定义这两个模块的步骤是什么。

提前致谢。

最佳答案

您可以使用 app.yaml 来配置您的主 (Java) 模块,详情请参阅 https://cloud.google.com/appengine/docs/java/configyaml/appconfig_yaml ,并单独的 .yaml 文件来配置其他(Python、PHP 和/或 Go——或者其中一些也可以是 Java!-))模块,详细信息请参见 https://cloud.google.com/appengine/docs/python/modules/#Python_Configuration .

正如您所怀疑的,所有模块总是确实访问完全相同的数据存储实例。

例如,您可以在app.yaml...:

application: myapp
version: alpha-001
runtime: java
api_version: 1

handlers:
- url: /myjava/*
  servlet: myapp.myservlets.DoItAllServlet

将所有 url /myjava/something 映射到该单个 servlet,例如 mypython.yaml

application: myapp
module: mypython
version: v1
runtime: python27

handlers:
- url: /mypy/*
  script: mypython.app

将所有 URL /mypy/something 映射到绑定(bind)到模块 mypython.py 中的全局变量 app 的单个 WSGI 应用程序。当然,主(“默认”)模块和其他模块都有大量的自由度,我只是想在这里展示最简单的“骨架”!-)

关于java - 如何在现有的Java应用程序中添加Python模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29055492/

相关文章:

java - 用于验证 InetSocketAddresses(ipv4/v6 + 端口地址)的正则表达式

python - 如何将 'auto' 设置为上限,但使用 matplotlib.pyplot 保持固定的下限

python - 使用manage.py shell在ipython存在的情况下运行普通的python解释器

python - 如何在 Google App Engine 中正确实现多个模块的多个版本?

google-app-engine - amazon ec2 ECU 与 google app engine MHZ cpu 评级相比如何?

python-2.7 - app_identity_service.GetAccessToken() 需要比可用配额更多的配额

java - XText 验证 - 在验证期间获取原始输入

java - Jacoco 在 kotlin 的测试中没有在 Kotlin 和 Java maven 项目中找到 Kotlin 文件覆盖率

java - 哈希表 "method put() is undefined for the type HashMap"

python - anaconda virtual env 从全局导入模块