java - 控制osgi声明性服务的实例化

标签 java osgi factory declarative-services

我正在寻找一种简单的方法来控制声明性服务的实例化。

我想要的是类似工厂的东西,它被要求返回组件的实例,但我可以在其中控制实例化。

目前我刚刚找到了 ComponentFactory,我可以在其中使用给定的字典调用 newInstance。但我真正想要的是这样的,假设 IComponent 是声明性服务接口(interface),MyComponent 是实现类

public class MyComponentFactory implements ? {

   public IComponent newInstance() {
       return new MyComponent("firstParameter", "secondParameter");
   }
}

声明式服务是否可以实现类似的功能,或者我是否需要在捆绑激活代码中使用自己的服务注册?

提前致谢

最佳答案

DS 不提供您正在寻找的实例创建间接级别。 DS将始终使用公共(public)的无参数构造函数,然后调用指定的激活器方法来完成实例初始化。

关于java - 控制osgi声明性服务的实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18910836/

相关文章:

web-applications - 在 war 中嵌入 OSGI

struts2 - 嵌入式模式下的 OSGi 暴露主应用程序中存在的 jar

c# - 如何对依赖于工厂的代码进行单元测试

Java:(错误?)SonarQube 6.7.1 LTS 中的 S2637 为阳性

java - 以 InOrder 序列的字符串形式返回树

java - 如何使用java读取S3中存在的JSON文件

c# - 创建一个 C# 工厂

java - 为什么 ChannelHandlerContext.writeAndFlush() 不处理我的字符串?

java - 如何避免 Gradle 的 osgi 插件为私有(private)包生成 export-pacakge 条目,为嵌入式依赖项生​​成 import-package 条目

design-patterns - 工厂模式。什么时候使用工厂方法?