问题标签 [ipojo]
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.
osgi - 嵌入felix时如何解析消费者实例
我有嵌入Felix 的应用程序。现在我正在尝试利用 iPOJO。为此,我创建了具有以下声明的消费者:
一切都是由 ant task 编译的<ipojo ...
。
iPOJO 的所有示例都假定我的应用程序是在 felix 控制台下启动的。但是(再一次)我的应用程序嵌入了 felix。所以我的问题是如何解决实例YetAnotherConsumer
?
编辑回答@Neil 问题,根据 iPOJO 文档:
@实例化
目标:声明一个简单的实例(这相当于<instance component="..."> </instance>
我想 iPOJO 和 Felix 的组合将创建我的实例YetAnotherConsumer
。所以我的问题是我的应用程序如何访问这个实例?
EDITED 2我已经将日志记录到构造函数中,YetAnotherConsumer
所以我可以看到这个没有被调用。这就产生了另一个问题——如何启动 iPOJO,我的 felix 启动如下:
启动 iPOJO 引擎错过了什么?
osgi - iPOJO 和服务阻尼
iPOJO 的比较表显示它支持服务阻尼,就像 Blueprint 一样。这是否只是指时间依赖关系或其他服务依赖关系?
osgi - 是否可以使用 iPOJO 将服务绑定到多个消费者?
在我的 iPOJO 应用程序中,我尝试将服务绑定到两个消费者:
消费者:
服务:
如果我启动consumerA、consumerB 和serviceA,服务只绑定到consumerA。如果我启动 consumerB 和 serviceA,服务将绑定到 consumerB。
是否可以让服务绑定到两个消费者?有注释吗?
谢谢。
osgi - OSGi 组件模型中的捆绑内和捆绑间相互依赖关系
在我当前的应用程序中,我在几个地方遇到了这种模式:我在一个包中有两个服务接口,它们执行不同但相关的工作。
并希望让单例组件实现两者,但发现每个组件都需要对另一个组件的引用:
三个 OSGi 组件模型(DS、Blueprint 和 iPOJO)中的哪一个允许这样做: 1) 何时Service1Impl
和Service2Impl
在同一个包中;2)当它们在不同的包中时?
osgi - Felix 将 OSGI Bundle 列为活动但 Gogo Shell 命令不可访问(依赖相关)
此基本代码成功地使命令 scopeA:test 在 shell 中可访问:
但是,如果我添加一个依赖于另一个 OSGI 组件的构造函数,则该命令将不再可访问,并且“帮助”不会列出它。然而,捆绑包仍然可以加载到活动状态。
B的内容很简单:
为什么不再列出该命令的任何想法?查找有关状态的更多信息以便我可以更好地调试的提示?
java - 使用 iPOJO 发布非@Instantiate OSGi 服务
我有 OSGi 模块化系统,其中有以下组件:
- 一些特定的协议实例实现,表示通过特定协议到特定服务器的连接(每个连接服务实例化)
- 一些特定的协议实例管理器服务,按需创建和预配置实例(通常来自不同捆绑包的多个单例服务)
- 连接管理器,它聚合协议管理器服务并在需要时要求它们提供协议实例(单一单调服务)
它们被打包到 OSGi 包中,如下所示:
ConnectionManager
注释为
并实现Subscriber
接口,使其能够发送和侦听通过某种类型传递的消息Event Admin
。
每个*ProtocolManager
都标注有
并实现ProtocolManager
接口,使其能够被ConnectionManager
服务侦听器发现。
每个*ProtocolInstance
都标注有
并实现Subscriber
接口。它还实现了接口,该接口提供了和ProtocolInstance
等通用连接操作。connect()
disconnect()
这里的问题是ProtocolInstance
s 是手动创建的,使用new
操作符,在内部ProtocolManager
,而不是通过注释触发器,因此 - 尽管它是注释@Instantiate
,但不要参与 iPOJO 服务发布。@Provides
问题:如何正确地(最好是声明式地,使用注释)发布这个以编程方式创建的ProtocolListener
服务,而不需要手动潜入原始 OSGi 服务发布(至少在某种工厂之外,也许)?或者,可能,如何重新构建我的系统,以使其更好地配合未说出口的 iPOJO 指南?
apache-felix - 在 Pax 考试测试中加载 ipojo Maven Bundle
我正在尝试使用 Pax Exam 创建一个测试,其中我为测试加载的一些包依赖于包“ org.apache.felix.ipojo ”。
如果我要在 Pax Exam 配置中省略加载此捆绑包的行,例如:
然后我得到一个错误,表明这个包是一个缺少的依赖项:
但是,如果我添加包含它的行:
我收到一条指示 ClassCastException 的消息,我认为这是由于 ipojo 捆绑包内置到 Felix 中造成的。
我正在使用 Felix 和 JUint4TestRunner 作为跑步者。
如何在没有冲突的情况下访问此依赖项?