问题标签 [blueprint-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 投票
4 回答
4193 浏览

java - OSGi:蓝图会取代声明式服务吗?

OSGi 的新 R4.2 规范描述了蓝图服务,用于依赖注入和服务连接。

Blueprint 是否取代了声明式服务(这仍然是规范的一部分),或者它们是否打算一起工作?

蓝图是否已经可用于流行的实现(Felix 和 Equinox)?

0 投票
1 回答
180 浏览

osgi - iPOJO 和服务阻尼

iPOJO 的比较表显示它支持服务阻尼,就像 Blueprint 一样。这是否只是指时间依赖关系或其他服务依赖关系?

0 投票
1 回答
564 浏览

eclipse - 用于蓝图 XML 的 Eclipse 工具

是否有专门支持编辑Blueprint XML文件的 Eclipse 插件?例如,自动完成参考 ID、接口名称等。

0 投票
2 回答
1214 浏览

apache-camel - 更新 osgi 包的问题

我有一个要求,我需要每天 4 次重新加载我的 osgi 包。重新加载一个包意味着重新创建静态实例 Bean,重新加载骆驼路由,重新创建和注入线程池,数据库连接池 ..etc(其他 spring xml 东西)。我尝试通过 ssh 刷新我的捆绑包,但我需要捆绑包 ID,因为它可以改变超时。所以,我写了一个Manager Bundle,它通过符号名称获取包并每天刷新4次。

有 3 个包和一个帮助包。帮助包包含所有常用的类和服务接口。这 3 个包之间没有代码共享(它们都没有导出任何包)。它们都通过骆驼 vm 端点和服务进行交互。我只刷新了其他 3 个包,而助手包不提供任何服务。

现在,问题是当我对这 3 个捆绑包进行更新时,它们会启动并正常工作,但每次执行此操作时,我都会看到 jconsole 上增加了 800-900 个类。强制 gc 似乎也没有清理这些对象。那么,这些旧的有线物体会是什么呢?服务依赖项应该会自动更新,并且包之间没有代码依赖项。我检查了更新前后类数的差异。

我可以看到某些类的数量翻了一番,例如org.apache.activemq.camel.component.VmComponentorg.apache.commons.dbcp.BasicDataSource ..etc 以及我在骆驼路线中定义的一些自定义 bean。我依赖于camel-core、blueprint、quartz...etc 的容器。camel-context 中的bean、VM endpoints..etc 和blueprint-config xml 中定义的组件在更新时会发生什么。我知道它建议在更新 bundle 后调用 FrameworkWiring.refreshBundles() 。但是,我在包之间没有代码共享,我认为任何其他依赖项容器应该处理我认为现在是错误的。而且我不确定 servicemix 中当前的 felix 框架实现是否支持 FrameworkWiring.refreshBundles() (参考),我无法让它工作。我该如何解决这个问题?

谢谢 sanre6

0 投票
1 回答
875 浏览

osgi - iPOJO @Bind/@Unbind 方法允许的签名

在我见过的所有 iPOJO 示例中,@Bind@Unbind回调仅将服务实例作为参数,即

蓝图还允许您拥有

iPOJO 回调也可以访问服务属性ServiceReference吗?还是应该为此使用白板处理程序?

0 投票
2 回答
2684 浏览

osgi - OSGi 组件模型中的捆绑内和捆绑间相互依赖关系

在我当前的应用程序中,我在几个地方遇到了这种模式:我在一个包中有两个服务接口,它们执行不同但相关的工作。

并希望让单例组件实现两者,但发现每个组件都需要对另一个组件的引用:

三个 OSGi 组件模型(DS、Blueprint 和 iPOJO)中的哪一个允许这样做: 1) 何时Service1ImplService2Impl在同一个包中;2)当它们在不同的包中时?

0 投票
1 回答
4024 浏览

osgi - 蓝图:如何检查是否满足可选依赖项?

blueprint.xml中,我以这种方式声明了一个可选依赖项:

在 中RepositoryImpl,我有

RepositoryListener正如预期的那样,即使没有可用的服务,蓝图也会调用此方法。问题是,我以后如何检查是否有服务

不起作用,因为repositoryListeneris not null,而是蓝图代理。

0 投票
1 回答
1302 浏览

osgi - 如何在osgi蓝图xml中指定枚举?

我正在尝试将依赖注入与 OSGI 蓝图一起使用。
我想通过在 XML DSL 中指定枚举对象来构造它。

在 Spring 上下文 XML 中,这看起来像 -

如何在 OSGI Blueprint XML 文件中实现这一点?我在标签处看到架构验证错误..

感谢任何指针!

谢谢。

0 投票
1 回答
340 浏览

jakarta-ee - 创建 Pax Wicket(蓝图)应用程序

它仍然是一个请求:Pax Wicket 的 Maven Archetype(蓝图)

我想知道生成 Pax Wicket - 蓝图应用程序的最快方法是什么(或如何将现有的 Wicket 应用程序转换为 Pax Wicket 蓝图)

我看到的唯一选择是下载示例并进行编辑。

0 投票
2 回答
3647 浏览

blueprint-osgi - 如何导入osgi蓝图xml

我正在尝试将 OSGI 蓝图 XML 文件导入另一个 OSGi 蓝图 XML 文件。

例如:blueprint1.xml:

蓝图2.xml:

春天的<import>作品,而不是蓝图。

有人知道在 OSGi 蓝图 XML 文件中执行此操作的方法吗?