バインディングメソッドからスローされた例外のみをログに記録するのはなぜ仕様なのですか?
この場合、コンポーネントはアクティブ化されないと思います。
コンポーネントが正しく設定されていることを確認するには、バインディングメソッドからスローされた例外をどのように処理する必要がありますか?
バインディングメソッドからスローされた例外のみをログに記録するのはなぜ仕様なのですか?
この場合、コンポーネントはアクティブ化されないと思います。
コンポーネントが正しく設定されていることを確認するには、バインディングメソッドからスローされた例外をどのように処理する必要がありますか?
サービス参照のバインディングが例外をスローしたからといって、必ずしもコンポーネントをアクティブ化できないとは限りません。コンポーネントは例外を認識しているため (結局のところ、それをスローしたのはバインディング メソッドです)、デフォルト値にフォールバックするか、制限されたサービスを提供するなど、引き続きアクティブ化できるように実装できます。
アクティブ化を失敗させる可能性があるアクティブ化メソッドとは異なり、バインド メソッドはとにかく例外をスローしてはなりません。
参照:
OSGi 112.5.7: 「バインド メソッドが例外をスローした場合、SCR はログ サービス (存在する場合) で例外を含むエラー メッセージをログに記録する必要がありますが、コンポーネント構成のアクティブ化は失敗しません。」