安装到 Pax-Exam 容器后未激活捆绑包
Bundle not get activated after installing to Pax-Exam container
我在测试中将 OSGi 包安装到 Pax-Exam 容器 class,以下是我的代码段。
@Configuration
public Option[] config() {
return options(
mavenBundle().artifactId("sample-bundle").groupId("org.sample.code").versionAsInProject(),
对于上面的示例包,我在我的包激活器中有一个服务注册,如下所示。
bundleContext.registerService(TestCode.class.getName(), testClassInstance, null);
调试测试用例后,发现上面的包未激活(状态编号 32),处于已解决状态(状态编号 4)。但是,在我从捆绑包的 start() 方法中删除上述服务注册后,捆绑包已成功激活。
知道这里出了什么问题吗?
可能是Activator出现了异常。这些错误通常不会显示在日志中。使用 try catch 绕过它并处理异常。
除此之外,我发现您有时会通过在测试用例中抓取并启动您的包来获得更好的错误消息。
我在测试中将 OSGi 包安装到 Pax-Exam 容器 class,以下是我的代码段。
@Configuration
public Option[] config() {
return options(
mavenBundle().artifactId("sample-bundle").groupId("org.sample.code").versionAsInProject(),
对于上面的示例包,我在我的包激活器中有一个服务注册,如下所示。
bundleContext.registerService(TestCode.class.getName(), testClassInstance, null);
调试测试用例后,发现上面的包未激活(状态编号 32),处于已解决状态(状态编号 4)。但是,在我从捆绑包的 start() 方法中删除上述服务注册后,捆绑包已成功激活。
知道这里出了什么问题吗?
可能是Activator出现了异常。这些错误通常不会显示在日志中。使用 try catch 绕过它并处理异常。 除此之外,我发现您有时会通过在测试用例中抓取并启动您的包来获得更好的错误消息。