我正在寻找一种简单的方法来控制声明性服务的实例化。
我想要的是类似工厂的东西,它被要求返回组件的实例,但我可以在其中控制实例化。
目前我刚刚找到了 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/