문제

서로 자동으로 내리는 이클립스 플러그인을 만들 수 있습니까?

두 가지 주요 상황에서 작동 해야하는 플러그인 세트를 개발하고 있습니다.

  • 개별적으로
  • 서로 협력합니다.

개별적으로 실행되면 플러그인은 "그냥 작동"해야하지만 콘서트에서 동일한 모델 컨텐츠 중 일부를 공유하고 플러그인 중 하나는 사용자에게 콘텐츠를 공유 할 다른 플러그인 목록을 제공해야합니다. 예 :

Foo 플러그인은 다음 플러그인을 감지하여 온톨로지를 공유 할 수 있습니다.

] 바 플러그인

] BAZ 플러그인

] 공유하지 마십시오

Eclipse는 다른 플러그인의 이러한 종류의 자동 감지를 용이하게하는 내부 간행물 / 탐지 방법을 제공합니까?

도움이 되었습니까?

해결책

대답은이를 통해 이루어져야합니다 선언적 서비스, Eclipse XML 확장 및 OSGI POJO 서비스의 장점을 결합합니다. OSGI 서비스와 같이 암시 적으로 역동적이지만 Eclipse Extensions와 같이 "주문형"을로드했습니다.

Eclipse3.3을 위해 2006 년에 소개되면 다음에 설명 된 개념을 찾을 수 있습니다. 이 프레젠테이션.

선언 서비스는 다른 서비스에 대한 참조를 정의 할 수있는 옵션을 제공합니다. 참조의 카디널리티를 지정할 수도 있습니다. 카디널리티는 두 숫자를 사용하여 지정됩니다. 첫 번째 숫자 0 또는 1은 옵션, 두 번째 숫자, 1 또는 n은 다중성을 나타냅니다.

실제로, 그것들 DS (선언 서비스) BundleContext에 액세스해야하므로 사용하기 쉽지 않습니다. 항상 쉬운 것은 아닙니다...

필요한 것이 일종의 서비스 지향 구성 요소 모델을 정의하는 것이라면 이 프레젠테이션 오늘날 존재하는 다양한 대안을 제공하고 "선언적 서비스"를 자세히 설명해야합니다.


DS와 관련하여 RCRESWICK가 찾은 것을 게시하려면 :

다른 팁

OSGI Service Registry는 플러그인 자체가 아니라 런타임에 Pojo 기반 서비스를 공유 할 수 있습니다. OSGI API, 선언 서비스, Spring DM 및 Ipojo에 직접 코딩하는 등이를 용이하게하는 몇 가지 옵션이 있습니다 (다른 것도 확실합니다).

역동적 인 관찰자/관측 가능한 스타일 솔루션을 달성하는 수단으로 화이트 보드 패턴을 확인할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top