问题标签 [osgi-bundle]

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 投票
2 回答
4822 浏览

java - FrameworkUtil.getBundle 总是返回 NULL

我正在尝试使用 OSGi 框架安装包。下面是我的代码,它试图获取bundleContext.

在下面的代码中,每次此行FrameworkUtil.getBundle返回 me null

以下是我的应用程序代码-

当我调试代码时,我发现在getBundle methodFrameworkUtil 类中 -

cl is not an instance of BundleReference这就是为什么它总是返回NULL。当我检查时cl,我发现了类似的东西-

sun.misc.Launcher$AppClassLoader@69956995我认为这不是 BundleReference 的一个实例?我需要这个org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader

下面是我的 pom.xml 文件-

我在这里有什么遗漏吗?我想我面临的问题是 OSGi 类加载。因为我认为 - 每个 Bundle 都有自己的 Classloader,即 DefaultClassLoader。但在我的情况下,类加载器是不同的,我不知道如何解决这个问题?

0 投票
2 回答
1547 浏览

java - 以编程方式启动 OSGi 框架时出现 java.util.NoSuchElementException

我正在尝试从 Java 以编程方式启动 OSGi 框架(最好是 Equinox),然后加载任何捆绑包。

所以我正在阅读这篇文章,其中说明了如何做到这一点。但是我每次都在下面的行中得到java.util.NoSuchElementException

下面是代码-

我不确定我在这里做错了什么?我有一个基于 Maven 的项目。下面是这个项目的 pom.xml 文件-

0 投票
1 回答
10051 浏览

java - org.osgi.framework.BundleException:捆绑 SampleModel 中未解决的约束

我正在尝试以编程方式启动 OSGi 框架。我为此使用了 Felix 框架。下面是我将启动 OSGi 容器的代码。

在上面的代码中,我试图安装并启动我创建的一个简单的 OSGi 模块(SampleModel jar)。一旦我尝试启动该模块,我总是会得到以下异常 -

下面是我的 SampleModel pom.xml 文件-

0 投票
1 回答
2334 浏览

java - 将我的 Bundle-A jar 文件安装到 OSGi 容器后如何调用其中一种方法

我最近开始研究 OSGi 框架。我有一个名为 Bundle-A 的捆绑包。我想从我的主应用程序中调用 Bundle-A jar 中的一种方法。

我已经从我的主应用程序加载并安装了 Bundle-A。下面是我安装 Bundle-A 的主要应用程序的代码。

现在 Bundle-A 已经启动。下面是我的 Bundle-A 激活器类。

下面是我在 Bundle-A jar 中的类。processingEventsBundle-A 启动后,我需要从上面的主应用程序代码中调用方法。

我不确定正确的方法是什么?我知道一种方法是在我的主应用程序 pom.xml 文件中添加这个 Bundle-A 的依赖项,因为我正在使用基于 maven 的项目。但我不认为这是正确的做法。因为最终,我将有更多的捆绑包,所以应该有一些其他的方法来解决这个问题,我不知道。

我应该在这里使用 ServiceListener 或 ServiceTracker 吗?基于我的代码的任何简单示例都将帮助我更好地理解。谢谢。

我希望这个问题足够清楚。我试图在 Bundle-A 加载和安装后调用其中的一种方法。

0 投票
0 回答
56 浏览

java - 启动 OSGI 框架时出现 NoSuchElementException

我已经创建了基于 Maven 的项目,在该项目中我试图通过使用下面的代码来启动一个 OSGi 容器(Felix),但每次,它都会给我以下异常 -

下面是我的代码:

一旦我运行上面的代码,我总是得到上面提到的异常-

下面是我的 pom.xml 文件:

谁能告诉我我在这里做错了什么?我知道 ServiceLoader 在类路径中搜索 FrameworkFactory 接口,如果找不到,则会抛出异常。但就我而言,我已经依赖于 felix 框架,所以它应该在我的类路径中。对吗?那我做错了什么?

0 投票
1 回答
2252 浏览

java - 获取已在 OSGi 中注册的服务时发生 ClassCastException

我最近开始研究 OSGi 框架。以下是我的 TestingBundle jar 中的类。下面是我的那个 Bundle 的 Activator 类。

下面是界面。

下面是实现上述接口的类

下面是我的主要应用程序代码,它将安装上述包,然后调用上述服务-

}

以下是我总是得到的例外 -

我不确定我在这里做错了什么?谁能解释我在这里做错了什么?

0 投票
1 回答
324 浏览

android - Apache Felix - 使用捆绑服务显示“java.lang.ClassCastException”

我将 Apache Felix 嵌入到 Android 应用程序中。在该应用程序中,我正在尝试使用捆绑提供的服务。捆绑包已成功安装并启动,但在使用以下服务的行:

我收到以下错误:

我的捆绑包中有以下内容:

1- 活化剂类

2- com.example.android_services 具有AndroidService.java接口:

3-它的实现类AndroidServiceImpl.java

现在,在我的 android 应用程序中,我也有AndroidService.java界面,以下是使用该服务的代码:

显示“9”后出现错误。我哪里做错了?

以下是我的捆绑清单:

更新:

我意识到我有这行代码:

所以我将其更改为:

现在我收到此错误:

0 投票
2 回答
2289 浏览

eclipse - org.eclipse.core 对 org.eclipse.runtime 的依赖突然改变了

我们用 maven 编译一个 Adob​​e CQ 项目(服务、taglib、视图、内容等)。在某个时间点,我们引入了以下依赖项:

这导致了以下依赖关系,例如 org.eclipse.resources (使用 mvn dependency:tree -Dverbose 提取):

然后,从 2013 年 8 月 19 日星期一到 8 月 20 日,org.eclipse:osgi 依赖项突然从 3.3.0-something 更改为 3.8.2-something,没有任何明显的原因(这严重破坏了我们的构建):

我们能够通过显式添加依赖项来解决这个问题:

但是,我们仍然没有任何线索,为什么依赖项发生了变化。有人知道原因或遇到过同样的问题吗?

0 投票
2 回答
1752 浏览

java - 为什么运行 Java 测试时 BundleContext 为空?

我写了一个测试,我运行一个需要加载 osgi 服务的类。当我开始测试时,我每次都会收到 NullPointerException。运行应用程序时,它工作正常。我的捆绑上下文为空。我该如何解决这个问题?这是应该加载服务的类的行:

指定包类的 Bundle,如果指定的类不是由包类加载器定义的,则为 null。

我在 API 中找到了该解释,FrameworkUtil但我仍然不知道该怎么做。

0 投票
1 回答
159 浏览

osgi-bundle - 我可以在特定时间启动捆绑包而不手动启动它吗

我有一个捆绑包在 servicemix 中运行。我想知道是否有一种方法可以进行一些配置更改并让它在早上 7:30 自动启动。我是 servicemix 的新手。谢谢你的帮助。

谢谢。