OSGi宣言型サービスは、「コンポーネント構成が非アクティブ化されると、SCRは、アクティブ化に関連付けられたコンポーネントインスタンスおよびコンポーネントコンテキストへのすべての参照を破棄する必要がある」ため、参照に一致するunbindメソッドなしでbindメソッドを持つことが明示的に許可されます。
Apache Felix maven-scr-pluginを使用して、Java5アノテーションからサービスコンポーネントXMLを生成しています。@Referenceアノテーションから「unbind」属性を省略すると、次のエラーが発生します。
[ERROR] @Reference: Missing method unbind for reference configuration at Java annotations in <classname>:<linenum>
SCRジェネレータが非常に厳しいのはなぜですか?省略されたバインド解除メソッドを許容するように指示する方法はありますか?おそらく私はFelixに欠陥を提出する必要がありますか?
もちろん、簡単なバインド解除メソッドをサービスに追加するのは簡単ですが、仕様ではそれらは不要であるとされています。