【问题标题】:java RMI communication with non java entity?java RMI与非java实体的通信?
【发布时间】:2010-10-02 12:37:36
【问题描述】:

是否可以与非java实体sing RMI协议进行通信 RMI IIOP 有什么特别之处?

谢谢

【问题讨论】:

    标签: java rmi


    【解决方案1】:

    这在技术上是可行的。您将需要在 non-java 端实现 RMI 服务器。

    虽然我不会推荐它。尝试探索使用 WebServices 的可能性,它通常用于:从(可能)不同平台通信实体

    【讨论】:

    • 这在技术上实际上是不可能的。您不仅要实现 RMI,还要为整个 JDK 类集以及非 Java 端的应用程序类实现序列化。
    • 是的。虽然我同意这实际上非常困难,但在技术上仍然是可行的。
    【解决方案2】:

    RMI 是应该被 Java 应用程序纯粹使用的协议。它对依赖于 Java 实现(例如序列化)的通信提出了一些要求。另一方面,RMI IIOP 是 EJB 实现使用的协议,目的是为通信添加更多功能(例如事务上下文传播)。

    IIOP 最初来自 CORBA,可用于与用其他语言编写的组件进行通信。

    如果您确实需要使用 IIOP 可用的功能,我不会采用 Web 服务路线。当然,除非您使用各自的 WS-* 规范来获取它们。

    【讨论】:

      【解决方案3】:

      老问题,但是因为谷歌排名高所以回答了

      我认为你不能轻易做到这一点。

      作为 Java-RMI 的替代品,我推荐 XML-RPC

      然后您可以与 Python、C++、Objective-C、Erlang、Groovy、Java、JavaScript、PHP 等进行通信。

      在 java 端,您可以使用Apache XML-RPC library

      专业版:针对不同语言的多种实现

      Con:XML-RPC 确实知道原语和 base64 编码的二进制文件。他们不会处理您复杂的 Java 对象,而是给您一个 Map。您需要自己将它们映射到您的对象。---

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-01-19
        • 1970-01-01
        • 1970-01-01
        • 2011-06-30
        • 1970-01-01
        • 2021-06-18
        • 1970-01-01
        • 2012-01-29
        相关资源
        最近更新 更多