osgi - Equinox 和 Java 脚本 API

标签 osgi equinox jsr223

我想创建一个包含脚本引擎(JSR-223 兼容)的 OSGi (Equinox) bundle ,并通过 ScriptEngineManager.getEngineFactories() 在另一个 bundle 中使用它。

但是,Java Scripting API 的服务发现机制(jar 文件服务发现)无法发现已安装 bundle 中的脚本引擎。

我已经看到了few answers on the topic ,建议使用 Apache Felix 或 Apache Sling,因为他们有解决方案。但是我想知道 Equinox 实现是否有办法解决这个问题?

最佳答案

好吧,OSGi 5 将支持它,它被称为 Service Loader Mediator 。这将有效地桥接 OSGi 服务与 java.util 服务加载器。

Apache Aries 有一个名为 Spi-Fly 的实现。哪个应该有效。我猜它更针对 Felix,但通常 OSGi 实现非常兼容。

说实话,我从来没有深究过这个问题,所以我无法以个人经验来说话。

祝你好运,弗兰克

关于osgi - Equinox 和 Java 脚本 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14337985/

相关文章:

eclipse - OSGi 子系统能否替代 Eclipse 功能?

spring - 如何将 Liferay portlet 转换为 OSGI 包?

java - NoClassDefFoundError 尽管有 OSGi 包

osgi - 使用 OSGi HTTP 服务启动 Wicket Web 应用程序

gradle - LibGDX 构建模型错误

java - 所需 bundle 的状态已解决而不是 Activity

maven-pax-provision + equinox : java. lang.Long 无法转换为 java.lang.String

java - 是否有独立于语言的方法来向 JSR223 脚本绑定(bind)添加函数?

java - 将 Mozilla Rhino JSR223 与 Java8 结合使用

javascript - 使用 JSR223 断言写入文件