2016-06-02 10 views

답변

3

프로필과 직접적인 일치는 없습니다. 당신이 할 수있는 것은 다른 서비스 속성을 가진 두 서비스를 게시하는 것입니다. 그러면 서비스 소비자는 필터를 사용하여 사용할 서비스를 결정할 수 있습니다.

선언적 서비스에서이 필터는 런타임에 구성 요소의 구성을 제공하여 변경할 수 있습니다. 코드에서 아래의 "prod"와 같이 필터를 기본값으로 설정합니다.

myService.target=(profile=dev) 

또 다른 더 일반적인 방법은 단순히 dev에와 자극에 대해 서로 다른 서비스를 배포하는 것입니다 :이 필터를 변경하는 속성을 추가 할 수 있습니다 당신이 서비스를 주입 구성 요소의 설정에서

@Reference(target="(profile=prod)") 
MyService myService; 

. 테스트에서 실제 서비스를 배포하는 동안 더미 서비스를 배포합니다. 이 방법은 OSGi의 모든 DI 프레임 워크에서 작동한다는 장점이 있습니다.