OSGi 声明式服务被明确允许有一个绑定方法,而没有匹配的 unbind 方法作为引用,因为“一旦组件配置被停用,SCR 必须丢弃对组件实例和与激活关联的组件上下文的所有引用。”
我正在使用 Apache Felix maven-scr-plugin 从 Java5 注释生成我的服务组件 XML。如果我从 @Reference 注释中省略了“unbind”属性,那么我会得到这个失败:
[ERROR] @Reference: Missing method unbind for reference configuration at Java annotations in <classname>:<linenum>
为什么可控硅发生器这么严格?有没有办法告诉它容忍省略的 unbind 方法?也许我需要向 Felix 提交缺陷?
当然,在我的服务中添加简单的取消绑定方法很容易,但规范说它们是不需要的。