问题标签 [osgi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
883 浏览

java - osgi:片段在 eclipse pde 之外无法工作(并且没有出现错误)

这个问题的背景:OSGi 和 Eclipse 平台。

我有捆绑(插件),它是一些片段的主机。只有当我通过 Eclipse“运行配置”启动它时,片段才会运行(我在插件的运行配置中将它添加到插件依赖项中),但是当我尝试通过 eclipse 或通过 maven tycho 项目导出它时,片段不起作用。在 osgi 的控制台中,我没有发现任何冲突(osgi 命令 diag )并且片段处于“RESOLVED”状态,这意味着它没问题并且已经启动。方法 IStartup#earlyStartup() 中片段中的断点(这是片段的 afaik 入口点)未激活,osgi 的控制台中没有显示错误...没有...

有什么线索吗?我错过了什么吗?

0 投票
2 回答
2115 浏览

repository - 如何配置 Felix OBR 存储库列表?

有没有办法在 Felix 的config.properties文件中指定多个 OBR 存储库?我确实可以在运行时添加一个存储库,但我必须在重新启动后这样做。

“Prefrences Service”没有帮助,似乎“Bundle Repository”没有使用它。

0 投票
2 回答
148 浏览

integration - 同化现有应用程序?

我阅读了很多关于富客户端平台和 OSGi 框架的内容,但始终坚持这个问题:是否可以在一个应用程序窗口中同化现有应用程序(基于 java 或基于 win32)?

我的目标是在一个应用程序(使用 Eclipse RCP)中连接不同类型的(现有)应用程序,以提供通用窗口管理器功能(如调整窗口大小等),并通过窗口间通信等增强它。

使用 SWT,可以编写(有点)本地外观的应用程序,并且通过使用 OLE 组件,我可以集成一些功能。我真正想知道的是我是否可以吸收整个窗口并将其整合到其他地方?

重点是...

  1. 视觉整合和
  2. 听力方法...

谢谢

0 投票
17 回答
151235 浏览

java - 在项目 xxx 的构建路径中检测到循环 - 构建路径问题

我正在使用 maven 和 eclipse 将我的项目转换为 OSGI 包。Maven 构建的东西很好,只有我现在在 Eclipse 中得到了上述错误。我怎样才能找出是哪个项目导致了这种情况?有什么特别的看法吗?这怎么会发生,我希望 maven 也可以检测到循环依赖关系?

更新

好的,我在 这里这里找到了一些东西

这可能是由 felix maven-bundle-plugin 引起的,它为每个导出也做一个导入?

0 投票
6 回答
2978 浏览

java - 远程处理和 OSGi

是否有一种优雅的方式在OSGi 容器 之间之间使用服务?

甚至可能吗?

例如,假设我在本地机器上有一个服务接口。我可以使用哪些方法/技术来通过远程 OSGi 容器的 BundleContext 访问该服务接口?

0 投票
3 回答
8544 浏览

java - OSGI 声明式服务 (DS):什么是使用服务组件实例的好方法

我刚刚开始使用 Equinox 和 Eclipse PDE 使用 OSGI 和声明式服务 (DS)。

我有 2 个捆绑包,A 和 B。捆绑包 A 公开了一个由捆绑包 B 使用的组件。两个捆绑包也再次将此服务公开给 OSGI 服务注册表。

到目前为止一切正常,Equinox 正在将组件连接在一起,这意味着 Bundle A 和 Bundle B 由 Equinox 实例化(通过调用默认构造函数),然后使用 bind / unbind 方法进行连接。

现在,由于 Equinox 正在创建这些组件/服务的实例,我想知道获取此实例的最佳方法是什么?

所以假设有没有被 OSGI 实例化的第三类:

我现在看到以下选项:



1. 在 Activator 中使用 ServiceTracker来获取 ComponentBundleA.class.getName() 的服务(我已经尝试过了,它可以工作,但对我来说似乎开销很大)并通过静态工厂方法使其可用

2. 创建某种注册表,其中每个组件在调用 activate() 方法后立即注册。

或者

}

3. 使用 osgi / equinox 中的现有注册表,其中包含这些实例?我的意思是 OSGI 已经在创建实例并将它们连接在一起,所以它已经在某个地方拥有了对象。但是哪里?我怎样才能得到它们?

结论WantsToUseComponentB 类(不是组件,也不是由 OSGI 实例化)从哪里获得 ComponentB 的实例?是否有任何模式或最佳实践?正如我所说,我设法在 Activator 中使用了 ServiceTracker,但我认为没有它也是可能的。

我正在寻找的实际上是类似 Springframework 的 BeanContainer 之类的东西,在这里我可以说类似 Container.getBean(ComponentA.BEAN_NAME) 之类的东西。但我不想使用 Spring DS。

我希望这已经足够清楚了。否则我也可以发布一些源代码来更详细地解释。

谢谢克里斯托夫


更新: 对尼尔评论的回答:

感谢您针对原始版本澄清这个问题,但我认为您仍然需要说明为什么不能通过 DS 之类的东西创建第三类。

嗯不知道。也许有一种方法,但我需要将我的整个框架重构为基于 DS,以便不再有“new MyThirdClass(arg1, arg2)”语句。真的不知道该怎么做,但我在 DS 中读到了一些关于 ComponentFactories 的内容。所以而不是做一个

我可能会做一个

在撰写本文时,我并不确切知道如何使用 ComponentFactories 但这应该是某种伪代码 :)

谢谢克里斯托夫

0 投票
4 回答
1816 浏览

java - 开始使用 osgi + felix

我需要哪些Felix软件包才能开始使用?下载页面上有数不胜数的。

(ps 这个名字是对 Odd Couple + 的引用,与 OSGI 的“Oscar”参考框架形成对比?这是我在阅读了其中一个教程页面后想到的,我从中得到了笑声。)

0 投票
2 回答
4366 浏览

java - 使用 XML 解析器实现作为 OSGi 服务

我正在使用 OSGi(Equinox 平台)开发一个应用程序,其中一个包需要解析 XML 文件。到目前为止,我使用 SAX (javax.xml.parsers.SAXParserFactory) 实现了这个,我想从平台检索 SAXParserFactory。

我看到 OSGi 标准提供了一个 XMLParserActivator 以允许 JAXP 实现自己注册(http://www.osgi.org/javadoc/r4v41/org/osgi/util/xml/XMLParserActivator.html),所以我的猜测是应该是一些将 SAXParserFactory 作为服务提供的包。

但是,我无法确定要添加哪个包作为依赖项才能找到提供 SAXParserFactory 的服务。我尝试使用检索服务引用

鉴于 XML 解析是一件相当常见的事情,我想有可用的实现或其他方式从平台获取 XML 解析器服务。

非常欢迎任何帮助!

0 投票
1 回答
1409 浏览

maven-2 - 在 pom.xml 中使用 Maven 插件运行 pax

如何使用可以在文件中指定的Maven 插件执行Pax-Runner任务?pom.xml

即我可以使用 Pax-Runner 在命令行中执行以下操作(将战争文件转换为 OSGi 包)

我应该怎么做才能让它在 pom.xml 文件中发生?

提前致谢!

0 投票
2 回答
1277 浏览

java - OSGi 的盈亏平衡点

似乎 OSGi 是近来的热门词汇。调用了许多好处:

  • 降低复杂性
  • 重用
  • 易于部署
  • 版本控制

(ETC)

我要求一个非常具体的用例 -中小型 Web 应用程序。OSGi 会给这些带来什么好处?这真的值得吗?