【问题标题】:How to Compose OSGi Based project with C++ based project?如何用基于 C++ 的项目编写基于 OSGi 的项目?
【发布时间】:2011-08-15 18:42:10
【问题描述】:

我正在扩展一个使用 C++ 语言启动的项目。现在我正在开发项目的一个新部分。它将基于 OSGi (Java)。 现在我想知道有没有什么稳定的方法可以用新的部分组合旧项目?是否有任何步骤可以将 C++ 对象转换为 OSGi 包(或具有类似结构和元数据)?或者有什么方法可以让他们之间进行交流?

【问题讨论】:

    标签: c++ osgi


    【解决方案1】:

    虽然它不是 C++,而是纯 C,但您可以查看Apache Celix。 Apache Celix 是用 C 语言实现的 OSGi 规范,不依赖于任何 Java 实现等。目前Celix仍处于孵化阶段。

    关于 C 和 Java 之间的通信,Celix 的(短期)待办事项列表中的一项是 OSGi 远程服务的实现。我们打算使用 hessian 作为实现,因为它已经存在于许多其他语言中,相对简单、二进制和紧凑。这为分布式系统以及 C - Java 通信提供了解决方案。

    【讨论】:

      【解决方案2】:

      我认为 Java 原生接口 JNI 没有任何替代品。

      【讨论】:

        【解决方案3】:

        您可以查看BUNDLE_NATIVECODE 标头和core specification 中的相关描述(第3.10 节)。尽管如此,你还是需要使用 JNI 来创建很多接口。

        【讨论】:

          【解决方案4】:

          仅供参考 - 对于 C Java 通信,Paremus 的 OSGi 远程服务实现(参见 Nimble)支持 Avro 分发提供程序。

          【讨论】:

            猜你喜欢
            • 2020-05-23
            • 1970-01-01
            • 2011-12-03
            • 2012-01-02
            • 2018-10-10
            • 1970-01-01
            • 1970-01-01
            • 2017-09-10
            • 1970-01-01
            相关资源
            最近更新 更多