问题标签 [apache-felix]

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 回答
231 浏览

osgi - osgi:部分存在于包中的导入包

我有一个包 XYZ,它存在于 2 个包 A 和 B 中:

Bundle B 导出包 XYZ Bundle A 导入包 XYZ 并得到一个异常,即找不到他自己的类 Class1。它应该工作吗?

我将 glassfish 3.1 与 felix 一起使用

0 投票
1 回答
870 浏览

osgi - 使用 jsafeJCEFIPS.jar OSGi

有没有人尝试过使用 jsafeJCEFIPS.jar OSGi?jar 已签名,我无法将其转换为捆绑包。我尝试将 jar 嵌入到 bundle 中,但当我尝试创建 JsafeJCE 对象的实例时,它总是抛出 java.lang.SecurityException:“JsafeJCE 提供程序已禁用,FIPS 140 要求的自我完整性检查失败”。

看起来 JsafeJCE 无法成功检查自身的完整性(签名等)。我打印出 jsafeJCE.class.getProtectionDomain,它是 (inputstream:bundle-name.jar )。

任何想法如何让 jsafeJCE 在 OSGi 中工作,我正在使用 Apache Felix。

提前致谢!

0 投票
1 回答
721 浏览

osgi - Apache Felix 部署不走运

我正在尝试通过 Apache Felix 的obr deploy命令部署特定版本的包。

我想安装 File Install 的 3.1.10 版本,但不幸的是deploy不理解版本(使用 @ 指定它们时):

如果我尝试使用分号,它也不起作用:

有人知道发生了什么吗?

PS:任何安装“文件安装 3.0.2”,然后将“3.1.10”罐子放入加载目录(从而安装另一个“文件安装”包)的人的奖励积分 - 然后删除“3.0.2”版本!可悲的是,这不起作用,因为“文件安装”总是会自行挂起。

0 投票
1 回答
1868 浏览

java - 在跨 OSGi 包的服务上添加方面

我有一个 OSGi 捆绑包(不属于我 - 所以我无法更改它!),它公开(导出)一个服务EchoService,我想将一个方面附加到这个服务的方法(以便执行一些前/后处理周围)。这些部署在 Apache Felix 容器上。

我已经编写了自己的 OSGi 包(显然导入了EchoService),并使用标准 Spring AOP 将 Spring 方面附加到它。但是,看起来方面没有附加,并且我的拦截器没有被调用。

我怀疑这是因为我试图拦截一个不属于我的包的服务(这似乎是合理的)。那是对的吗?我该如何克服呢?

这是我的拦截器/方面的样子:

0 投票
2 回答
3498 浏览

ant - 使用 BND 嵌入第三方 JAR

我有一个使用 ANT 和经典 BND 工具构建的 OSGi 包。我的包在内部使用了一个库 (JAR),它不能作为我的 OSGi 容器 (Apache Felix) 中的包使用。所以,我试图将它嵌入到我的 bundle中,以便在运行时访问。

如何使用 ANT+BND 嵌入这样的库/JAR?(注意:我不能使用 MAVEN,使用它可能会容易得多)

0 投票
1 回答
1011 浏览

java - 如何立即获得 ManagedService 配置?

我正在使用Felix 配置管理库来读取和应用 OSGi 服务的配置文件。我正在配置的许多服务都是第三方的(例如org.ops4j.pax.web.pax-web-jettyorg.ops4j.pax.url.mvn)并且使用简单的BundleActivator而不是声明式服务。我发现这些服务每个都初始化了两次,因为

  1. 在激活时他们调用ManagedService#updated(null),并且
  2. 不久之后,Felix异步ConfigurationManager.UpdateThread调用。ManagedService#update(non-null)

我讨厌这种延迟应用我的配置。由于固有的竞争条件,它会导致不稳定的故障。是否有可以同步应用配置以避免此问题的替代 CM 实现?或者我可以让 Felix 同步吗?(从对源代码和ManagedService javadoc的检查来看,似乎没有。)

0 投票
1 回答
361 浏览

osgi - 在另一个现有的 osgi 框架上部署 SIP Communicator (Jitsi),并可以通过 osgi 控制台对其进行控制

我正在使用 SIP Communicator (Jitsi)。它启动 felix 然后部署它的包,当我关闭 sipCom 时,它会卸载所有包然后关闭 felix 框架。现在我部署了我的包,但我希望在关闭 sip_communicator 后,felix 应该可以工作并且我的包不应该停止。对于以下一个想法,但我不知道如何实现:

启动新的 felix osgi,部署我的包,然后部署 SIP_Communicator 的包。要关闭 sipcom,请停止 SIP_Communicator 的捆绑包。

问题:我不知道需要在felix 上部署哪个bundle 才能控制SIP Communicator。

0 投票
2 回答
1404 浏览

java - Bundle.loadClass() returns Class instance without fields or methods

I want to create an OSGi framework programmatically, load a Bundle with it and load a class from that bundle. When I call Bundle.loadClass() I get a Class isntance with all fields\methods\constructor fields set to null. It only has a name. I can't access any public methods, etc. I have tried both Equinox and Felix with the same result.

Bundle's MANIFEST:

Framework setup:

and

Bundle loading:

Activator Class instance contains constructor reference, but no public methods. It has public void start(BundleContext c) and public void stop(BundleContext c).

How can I load the correct Class? What am I doing wrong? Thanks for any help.

0 投票
4 回答
1137 浏览

java - Swing 应用程序和 osgi felix

我创建了一个非常简单的捆绑包:

我已经编辑了清单文件:

我已经把所有这些东西都打包了,启动了 felix 并:启动文件:testosgi.jar

它不会给出错误,但也不起作用。有没有办法获得有关正在发生的事情的一些详细信息?

0 投票
1 回答
147 浏览

java - felix exthttpservice 设置 cookie 的会话路径

我有一个在 Felix osgi 容器中运行的 web 应用程序。我使用码头作为 extHttpService 的实现。目前它正在将 cookie 写入“/”根路径。我想更改它,因为它会导致与其他 Web 应用程序发生冲突。查看码头文档似乎我需要设置以下属性。

org.mortbay.jetty.servlet.SessionPath

但是,我无法找到通过 osgi 使用 ExtHttpService 进行设置的方法。我尝试创建一个 jetty.xml 文件,将其添加到 config.properties,并将其设置为调用中的属性以注册我的 servlet。

有谁知道如何设置这个?

谢谢,