问题标签 [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.
java - OSGi:蓝图会取代声明式服务吗?
OSGi 的新 R4.2 规范描述了蓝图服务,用于依赖注入和服务连接。
Blueprint 是否取代了声明式服务(这仍然是规范的一部分),或者它们是否打算一起工作?
蓝图是否已经可用于流行的实现(Felix 和 Equinox)?
osgi - iPOJO 和服务阻尼
iPOJO 的比较表显示它支持服务阻尼,就像 Blueprint 一样。这是否只是指时间依赖关系或其他服务依赖关系?
eclipse - 用于蓝图 XML 的 Eclipse 工具
是否有专门支持编辑Blueprint XML文件的 Eclipse 插件?例如,自动完成参考 ID、接口名称等。
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.VmComponent、 org.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
osgi - OSGi 组件模型中的捆绑内和捆绑间相互依赖关系
在我当前的应用程序中,我在几个地方遇到了这种模式:我在一个包中有两个服务接口,它们执行不同但相关的工作。
并希望让单例组件实现两者,但发现每个组件都需要对另一个组件的引用:
三个 OSGi 组件模型(DS、Blueprint 和 iPOJO)中的哪一个允许这样做: 1) 何时Service1Impl
和Service2Impl
在同一个包中;2)当它们在不同的包中时?
osgi - 蓝图:如何检查是否满足可选依赖项?
在blueprint.xml
中,我以这种方式声明了一个可选依赖项:
在 中RepositoryImpl
,我有
RepositoryListener
正如预期的那样,即使没有可用的服务,蓝图也会调用此方法。问题是,我以后如何检查是否有服务?
不起作用,因为repositoryListener
is not null
,而是蓝图代理。
osgi - 如何在osgi蓝图xml中指定枚举?
我正在尝试将依赖注入与 OSGI 蓝图一起使用。
我想通过在 XML DSL 中指定枚举对象来构造它。
在 Spring 上下文 XML 中,这看起来像 -
如何在 OSGI Blueprint XML 文件中实现这一点?我在标签处看到架构验证错误..
感谢任何指针!
谢谢。
jakarta-ee - 创建 Pax Wicket(蓝图)应用程序
它仍然是一个请求:Pax Wicket 的 Maven Archetype(蓝图)
我想知道生成 Pax Wicket - 蓝图应用程序的最快方法是什么(或如何将现有的 Wicket 应用程序转换为 Pax Wicket 蓝图)
我看到的唯一选择是下载示例并进行编辑。
blueprint-osgi - 如何导入osgi蓝图xml
我正在尝试将 OSGI 蓝图 XML 文件导入另一个 OSGi 蓝图 XML 文件。
例如:blueprint1.xml:
蓝图2.xml:
春天的<import>
作品,而不是蓝图。
有人知道在 OSGi 蓝图 XML 文件中执行此操作的方法吗?