【问题标题】:Java Projects on Django?Django 上的 Java 项目?
【发布时间】:2013-03-12 07:08:33
【问题描述】:

好的,所以我在网上搜索了可能的实现,但我设法找到的是通过 Jython 在 Java 平台上实现的 Django 项目。但我想做相反的事情,即在 Django 平台上实现/集成 java 项目(在我的例子中是 SAIKU 服务器)。

问题是,是否可能,如果是,请指出解决方案。

提前致谢 =)

【问题讨论】:

  • 你能解释一下集成吗?从 Django 应用程序启动 java 项目?

标签: java django jython-2.5 saiku


【解决方案1】:

对于您的具体要求,我建议使用 RESTFul API 来访问 Saiku 服务器。

但是,如果您需要从 Python 运行 Java 类。

以下是可供您选择的选项:

  1. JCC -- 用于从 C++/Python 调用 Java 的 C++ 代码生成器。它产生通过 JNI 与 Java 虚拟机通信的 Python 扩展。正如它所暗示的,这将需要编译每个可能的调用。然而,这个项目是 PyLucene 项目的骨干。

  2. CodeMesh。 Java 的 C++ 代码生成器。

  3. Py4J 在 Python 解释器中运行的 Python 程序,用于动态访问 Java 虚拟机中的 Java 对象。

  4. JPype 允许 python 程序完全访问 java 类库。它是通过在两个虚拟机中的本机级别进行接口来完成的。但是,这方面最近没有任何进展。

    一般来说,通过 REST 或 RCP 进行松耦合集成比基于 JNI 的紧耦合实现更容易维护。

【讨论】:

    【解决方案2】:

    没有办法在 Python 运行时中运行 Java(这听起来像您想要的那样)。有可用的 Java 到 Python 的“翻译器”,但它们很糟糕。老实说,如果您出于某种原因需要 Java 服务器和 Django 坐在同一个进程中,那么 Jython 是您的最佳选择。

    除此之外还有很多选择,我想不到:

    1. 为您的服务器实现 Python 绑定(有关示例,请参见 PyLucene
    2. 在您的 Java 服务器中实现一个套接字服务器,Python 可以直接与之对话

    【讨论】:

      猜你喜欢
      • 2015-04-23
      • 1970-01-01
      • 1970-01-01
      • 2013-03-19
      • 2021-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多