declarative-services相关内容

OSGi组件模型中包内和包间的相互依赖

在我当前的应用程序中,我在几个地方遇到了这种模式:我在单个包中有两个服务接口,它们执行不同但相关的工作。 interface Service1 { ... } interface Service2 { ... } 并希望让单例组件同时实现这两个组件,但发现每个组件都需要对另一个组件的引用: public class Service1Impl implements Service1 ..
发布时间:2022-07-01 13:39:39 其他开发

用于配置服务的 OSGi 声明式服务与托管服务?

我最近偶然发现 OSGi 中的声明式服务可以将组件的配置设置为 required 以便组件在激活时接收它,消除了组件激活和配置之间的差距.我还意识到您可以通过 modified 方法接收配置更新. 在我看来,此功能与通过实现 ManagedService 接口并将其发布为您提供的“服务"之一所提供的功能非常相似. 似乎我可以完全忽略 ManagedService &只需使用 DS 配置 ..
发布时间:2022-01-03 09:27:00 其他开发

OSGi声明式服务的绑定顺序

假设我使用OSGi声明式服务,并且我有一个服务,该服务的数字引用的策略为dynamic ... A-强制性一元制。 B-强制一元。 C-强制倍数。 D-可选一元。 E-可选倍数。 在我的服务启动时,所有引用均可用。 有什么方法可以控制调用绑定的顺序吗? 我想让B首先绑定并对每个传入的E进行操作,但我无法确保B在E之前绑定。 是的,更合理的方法是让代 ..
发布时间:2020-06-11 18:45:44 Java开发

外部捆绑中的Osgi Equinox启用组件

鉴于这种情况: 捆绑A:组件1A(启用:false) 套件B:组件2B 如何从捆绑软件B或组件2B中启用组件1A? 我试图通过使用componentContext来做到这一点, dsContext.enableComponent("1A"); 但它似乎仅适用于同一捆绑包中的服务. 解决方案 您正在使用一种用于管理的机制,似乎您想在应用程序级别使用它.声明式服务应 ..
发布时间:2020-05-22 19:23:16 其他开发

将OSGI DS组件反向移植到OSGI R4

我有一个为Apache Karaf 4.0.5开发的组件.但是,事实证明,它需要部署在基于较旧版本的Felix的glassfish 4上.我在尝试部署它时收到此消息: missing requirement [319.0] osgi.extender; (&(osgi.extender=osgi.component)(version>=1.3.0)(!(version>=2.0.0))) ..
发布时间:2020-05-22 19:20:35 其他开发

在OSGi参考注释中动态设置目标属性

在阅读文章之后在参考目标(以及相应的属性),当在运行时设置了target 时,我仍然不了解如何检索服务(通常目标和属性是在编译时设置,并在运行时由SCR进行评估. 假设有三种服务实现分别定义了@Property(name="type", value="csv"),@Property(name="type", value="xls")和@Property(name="type", value= ..
发布时间:2020-05-22 19:19:46 Java开发

以编程方式添加声明式服务

是否可以使用某种api添加声明式服务? 一些背景: 我有一个基于动态脚本的服务器应用程序(可以随时添加,编辑或删除它们). 这些脚本具有对OSGi服务的依赖关系,并且可能相互依赖.每当脚本获得 编辑后,该脚本将编译为javascript,并检测到其依赖性. 那时候,我想(重新)将其注册为声明性服务,因此它将在其启用时被激活/停用. 依赖来来去去. 这有可能吗?还是我缺少主要 ..
发布时间:2020-05-22 19:18:50 其他开发

服务顺序与声明式服务的绑定

是否可以找到或确定与声明式服务的服务绑定顺序?我的问题是我的OSGI中有一个运行日志记录的服务以及其他服务.现在,我的组件将绑定此日志记录服务和其他几个服务.每当服务绑定或未绑定时,我都想写一条日志消息.但是,如果将服务A绑定到我的日志记录服务之前,则无法写入A的日志条目. 我可以以某种方式配置绑定顺序吗?我读过有关将服务的绑定策略设置为“静态"的信息,该策略应确保首先绑定此服务.但这不是我 ..
发布时间:2020-05-22 19:18:04 其他开发

您如何在日食声明服务和视图(ContentProviders)之间进行通信

假设您有一个带有各种视图的eclipse插件,这些视图应显示来自某些OSGi捆绑软件的数据,该捆绑将数据推送到视图.我有一个中间的Facade类,而不是让每个视图都与OSGi包进行通信,而是充当了视图的黑板并管理视图与其他OSGi包之间的通信-就是这样. 之所以出现此问题,是因为ui捆绑包(包括Views和Facade)使用声明式服务与另一个捆绑包(称为DataStore)进行通信.由于数据 ..
发布时间:2020-05-22 19:15:44 其他开发

在其他服务之前激活OSGI LogListener?

我正在使用Apache Felix,Declarative Services和Maven编写基于OSGI的桌面应用程序.它将使用JavaFX,所以我也使用 Drombler FX . 在我开发的捆绑软件中,我想使用适当的日志记录机制,并且我目前正在尝试制作 网上的字眼是Everit的 osgi-loglistener-slf4j 将完成此任务,并且–足够肯定–在已激活,日志输出将显示在控制台 ..

使用声明式服务的OSGi + Pax-Web中的GWT问题

我正在迁移OSGi(Equinox)和Pax-web上运行的现有GWT应用程序,以使用声明式服务而不是程序化服务跟踪器。我使用的是Equinox中的Pax-Web。基于WAR的GWT应用程序没有被PAX-WEB War extender加载,但是你不能在这个模式操作中使用声明式服务。 我成功地重构了所有servlet并将它们转换为声明式OSGi服务( ..
发布时间:2018-05-31 13:06:38 Java开发

OSGi声明式服务vs. ManagedService用于配置服务?

我最近偶然发现,OSGi中的声明式服务可以将组件的配置设置为必需,以便组件在激活时接收它,消除组件激活和配置之间的差距。我也意识到这一点,你可以通过修改方法接收配置更新。 此功能与通过实现 ManagedService 界面并作为您提供的“服务”之一提供的功能非常相似。 看起来我完全可以忽略 ManagedService &只需使用DS配置注入。 这些技术之一比其他技术更受欢迎还 ..
发布时间:2016-12-27 18:15:56 其他开发