2010-07-22 6 views
1

OSGi 구성 관리 서비스의 구성 저장소 위치를 변경하는 방법이 있습니까? 다른 OSGi 저장소가 아닌 배포판에 소스 제어 &에 존재할 수 있도록 속성 파일을 다른 번들에 포함시키고 싶습니다.OSGi 구성 관리 서비스의 구성 저장소 위치를 변경합니까?

+0

ConfigAdmin이 데이터를 지속적으로 저장하는 방법은 구현에 달려 있습니다. 좀 더 구체적인 OSGi 구현을 사용할 수 있습니까? – akr

+0

Felix 구성 관리자 구현을 사용하고 있습니다. 데이터 저장소 위치를 설정할 수 있다는 것을 알아 차렸지만 걱정하지 않는 서비스 속성이 추가되었습니다. 그런 다음 필자가 Felix File Install을 사용하여 속성 파일로 내 번들을 구성 할 수있었습니다. 그것이 내가 현재 사용하고있는 것입니다. 구성 관리 서비스를 사용하여 파일 설치를 통해로드 된 속성을 변경 내용을 다시 푸시 할 수있게하고 싶습니다. – oconnor0

답변

0

결국 Apache Felix 파일 설치를 사용하여 구성 관리 ManagedService의 구성 등록 정보를 업데이트하기로 결정했습니다. 이것은 잘 작동하는 것처럼 보입니다.

파일이 업데이트되면 올바른 구성 값에 관계없이 새 구성 속성이 관리되는 서비스로 푸시되기 때문에 조금 번거 롭습니다. 즉, 다음 시작시 값이 여전히 불량 일 것입니다. &을 기본값으로 설정해야합니다.

지금은 작동합니다.

0

구성 관리자 구현은 적어도 사양을 통해 이식 할 수는 없지만이를 수행 할 수 없습니다. 대신 구성 데이터를 API를 통해 구성 관리자로 푸시하는 "관리 에이전트"가 필요합니다. 원하는 소스에서 구성 데이터를 파생시킬 수 있습니다.

FileInstall은 관리 에이전트의 매우 간단한 예입니다. 그것이 당신이 원하는 것을 정확히하지 않는다면, 당신 자신의 것을 쓰는 것은 그리 어렵지 않습니다.

ManagedServices는 들어오는 구성 데이터의 유효성 검사를 수행하고 새 구성 데이터에 동적으로 대응해야합니다. OSGi는 동적 플랫폼이며 Config Admin은 실행중인 시스템을 즉석에서 재구성 할 수 있도록 설계되었습니다.

관련 문제