OSGi 선언 서비스는 참조에 대해 일치하는 바인딩 해제 메소드를 사용하지 않고 명시 적으로 바인드 메소드를 가질 수 있으므로 "일단 구성 요소 구성이 비활성화되면 SCR은 구성 요소 인스턴스 및 활성화와 관련된 구성 요소 컨텍스트. "OSGi DS : Felix SCR을 사용하여 바인딩 해제 메소드 참조 주석
Java5 주석에서 서비스 컴포넌트 XML을 생성하기 위해 Apache Felix maven-scr-plugin을 사용하고 있습니다.
[ERROR] @Reference: Missing method unbind for reference configuration at Java annotations in <classname>:<linenum>
가 왜 SCR 발생기가 너무 엄격한 것입니다 : 나는 @Reference 주석에서 "바인딩 해제"속성을 생략 할 경우, 나는이 실패를 얻을? 생략 된 바인딩 해제 방법을 허용하도록 지시 할 수있는 방법이 있습니까? 아마 내가 펠릭스에게 결함을 제기 할 필요가 있을까요?
물론 서비스에 사소한 바인딩 해제 메소드를 추가하는 것은 쉽지만 스펙에서는 불필요하다고 말합니다.
재미 있기 때문에 "반드시 호출해야합니다"라는 말은 바인딩 해제 메서드가 실제로 필요하다는 것입니다. 내 이해는 어쨌든 서비스 인스턴스가 삭제 될 것이므로 참조가 무효화되지 않으면 큰 문제가되지 않습니다. 그러나 그것이 틀렸을 수도 있습니다. –
서비스 인스턴스가 프록시되어 있지 않으므로이를 버릴 수있는 유일한 방법은 null을 지정하는 것입니다. 번들을 제거하는 경우 전체 번들 (클래스 로더, 모든 클래스 및 인스턴스)이 가비지 수집되도록 번들의 클래스 로더에 의해로드 된 클래스의 모든 인스턴스를 무효화해야합니다. – earcam
@Chris, 그냥 플러그인을 어지럽 혔습니다 - 거기에 구성 옵션 "generateAccessors"- 난 아직 시도하지 않은하지만 당신이 사실로 설정하면 유엔/바인딩 방법을 생성합니다 추측. – earcam