현재 응용 프로그램에서는 런타임에 사용자 인터페이스를 통해 osgi 서비스를 만들고 구성하려고합니다. OSGi 메타 타입 스펙을 살펴 보았지만 간단한 유형 속성 만 지원합니다.종속성이있는 OSGi 서비스를 동적으로 만들고 구성하십시오.
내 질문은 : 다른 osgi 서비스와 같은 속성 유형에 대한 지원이없고 왜 이런 식으로 이미 기존 프로젝트에 대해 알고있는 충분한 이유가 있습니까?
UPDATE
더 내 질문에 명확히하려면 :
내가 뭘 원하는 것은 생성하고 소프트웨어의 사용자가 필요에 따라 새 서비스를 구성하는 것입니다. 이것은 새로운 서비스 인터페이스가 시스템에 추가되는 경우에도 작동해야합니다.
내가 보내는 통지
public interface NotificationService {
void notify(Notification n);
}
및 가령에게 알림을 보내는 구현을위한 서비스 인터페이스가 있다고 가정하자 지저귀다. 메타 타입 사양을 통해 트위터 서비스에 사용자 이름과 암호가 필요한 정보를 인코딩 할 수 있습니다. 이를 통해 새로운 트위터 알림 서비스를 만들기 위해 런타임에 동적으로 UI를 만들 수 있습니다.
이것은 간단한 데이터 유형과 작동하지만 메타 유형 스펙은 다른 서비스에 대한 종속성을 처리하지 않습니다. 예 : Notification
에 파일 첨부가 있고 트위터 서비스에 FileUpload 서비스가 있어야 파일을 저장할 수 있습니다.
예를 통해 제 질문을 명확히하려고했습니다. 이것이 내가하고 싶은 것을 이해하는 데 도움이되기를 바랍니다. – crazymaik
예제가 있습니다. 메타 타입 서비스는 당신을 도울 수 없으며, 당신이 생각하는 유스 케이스와 잘 맞지 않는다고 생각합니다. 할 수있는 일은 사용 가능한 특정 파일 업로드 서비스에 대한 옵션을 가진 간단한 문자열 값 속성입니다 (물론 서비스 간의이 하드 코드 종속성 - 새 파일 업로드 서비스가있는 번들을 추가하면 어떻게됩니까?). 그런 다음 ServiceTracker를 사용하여 사용자 지정 속성 필터를 사용하여 서비스를 가져옵니다. 내 자신의 메타 데이터 설명 시스템을 사용하는 것이 좋습니다 (특수 효과 사용!). 또는 심지어 이클립스 레지스트리. –
이것이 crazymaik의 원래 질문에 대한 대답인지 궁금합니다. –