【问题标题】:Mixed C/Java OSGi Platform混合 C/Java OSGi 平台
【发布时间】:2014-07-26 11:15:51
【问题描述】:

有没有办法拥有像 OSGi 这样的语言混合组件框架?我想混合使用 C 和 Java 编写的模块或包。在 NativeOSGi (https://github.com/abroekhuis/NativeOSGi) 的网站上有一个提示,但是该项目似乎不再维护。有没有办法让 Apache Celix 和 Felix 一起工作?

【问题讨论】:

    标签: java c osgi apache-felix apache-celix


    【解决方案1】:

    使 Felix 和 Celix 协同工作的最简单方法是通过 OSGi 远程服务规范。目前正在进行工作以使 Amdatu Remote(该规范的实现)与 Celix 互操作。我鼓励您在 Celix 邮件列表上提问,因为他们可能会告诉您更多有关其当前状态的信息。

    【讨论】:

    • 请查看我对 Alexander 问题的评论
    【解决方案2】:

    就像 Marcel 所说,最好的方法是使用远程服务。 由于 Amdatu 远程服务一直在开发新版本,我不确定当前版本是否与 Celix 实现兼容。如果不是这种情况,我们应该努力让它重新启动并运行。

    您提到了 NativeOSGi,虽然 github 页面没有维护,但我们仍在努力(遗憾的是有点慢......)。基本上,这个想法是让 Celix 实现 NativeOSGi API(或基于 Celix 的 NativeOSGi API,只是一个角度问题)。由于 Celix 已经发布了 1.0 版本,我们已经开始着手开发 API,因此希望看到在 NativeOSGi 的主干上取得一些进展。

    希望对大家有帮助,如果有其他问题,欢迎追问!

    【讨论】:

    • 是的,但是远程服务如何影响性能?我想在实时线程中运行 C 部分,s.t.通过函数调用绑定服务将是最高效的解决方案。
    • 只有在从 Java 转到 C 时才使用“远程”服务,反之亦然。如果实时组件在 Celix 中进行通信,那么您基本上只是在调用函数。
    • @MarcelOffermans 我可以在 Celix 中有多个线程吗,可能是的。
    • 是的,你可以。就像在 Java 中一样,框架中没有任何限制。
    • 如果您对 Celix 有任何更详细的问题,请随时联系 Celix 邮件列表。该列表由项目的提交者监视。但正如 Marcel 所说,框架中没有任何限制可以阻止任何线程。
    猜你喜欢
    • 2013-02-14
    • 2014-01-26
    • 2017-12-05
    • 1970-01-01
    • 2013-05-24
    • 2015-07-23
    • 1970-01-01
    • 2020-11-23
    • 2018-07-19
    相关资源
    最近更新 更多