1
두 가지 구현이있는 OSGi 서비스가 있습니다. 하나는 테스트 용이고 하나는 테스트 용입니다.스프링 프로파일과 같은 OSGi 프로파일
코드를 통해 다른 env에서 전환하는 방법이 있습니까? 비슷한 모양 Spring profiles
두 가지 구현이있는 OSGi 서비스가 있습니다. 하나는 테스트 용이고 하나는 테스트 용입니다.스프링 프로파일과 같은 OSGi 프로파일
코드를 통해 다른 env에서 전환하는 방법이 있습니까? 비슷한 모양 Spring profiles
프로필과 직접적인 일치는 없습니다. 당신이 할 수있는 것은 다른 서비스 속성을 가진 두 서비스를 게시하는 것입니다. 그러면 서비스 소비자는 필터를 사용하여 사용할 서비스를 결정할 수 있습니다.
선언적 서비스에서이 필터는 런타임에 구성 요소의 구성을 제공하여 변경할 수 있습니다. 코드에서 아래의 "prod"와 같이 필터를 기본값으로 설정합니다.
myService.target=(profile=dev)
또 다른 더 일반적인 방법은 단순히 dev에와 자극에 대해 서로 다른 서비스를 배포하는 것입니다 :이 필터를 변경하는 속성을 추가 할 수 있습니다 당신이 서비스를 주입 구성 요소의 설정에서
@Reference(target="(profile=prod)")
MyService myService;
. 테스트에서 실제 서비스를 배포하는 동안 더미 서비스를 배포합니다. 이 방법은 OSGi의 모든 DI 프레임 워크에서 작동한다는 장점이 있습니다.
지금 OSGi 서비스를 어떻게 등록합니까? 프로그래밍 방식으로? –