首页 文章

OSGi服务没有实现接口

提问于
浏览
1

我正在开发一个使用OSGi的项目,该项目具有以下代码

@Component(policy = ConfigurationPolicy.OPTIONAL, ds = true, immediate = true, metatype = false)
@Service(TestInterface.class)
public class TestInterface{

这里的代码没有实现服务将要公开的接口 . 此外,我已经验证了在任何地方都没有使用@Reference引用它 . 它真的需要将其作为服务而不是仅仅是组件吗?如果我想在另一个组件中使用它,我必须通过实现接口将其作为服务 . OSGI是否真的要求实现接口应该公开的服务?

1 回答

  • 1

    OSGi服务可以在任何类型名称下注册,而不仅仅是接口 . 强烈建议使用接口,因为它们很好地将实现类与服务的使用者分开 .

相关问题