OSGI 서비스를 원격으로 액세스 할 수있게하려면 ActiveMQ JMS 브로커를 ECF 프레임 워크의 배포 공급자로 사용하고 싶습니다. 어떤 단계를 밟아야합니까?원격 서비스에서 ECF JMS/ActiveMQ 공급자를 사용하는 방법?
0
A
답변
0
나는 그것을 문서화하기 위해 내 자신의 질문에 대답 할 것입니다.
- 는 분포 ecf.generic.server 및 검색 공급자 (예를 들어 사육사) 중 하나, 최소한의 작업 ECF 원격 서비스 작업 공간을 가져옵니다. 자습서 http://wiki.eclipse.org/EIG:Getting_Started_with_OSGi_Remote_Services을 사용할 수 있습니다.
- 은 기본 구성과의 ActiveMQ 브로커를 설치합니다.
https://github.com/ECF/JMS에서 JMS/ActiveMQ ECF 공급자를 다운로드하십시오.
org.eclipse.ecf.provider.jms
및org.eclipse.ecf.provider.jms.activemq
프로젝트를 작업 영역에 추가하고 빌드를 실행 구성 또는 대상 플랫폼에 추가하십시오. 공급자의 서비스 속성에 대한- 는 다음과 같이 변경을 수행
을 수행합니다.
"service.exported.configs"
속성을"ecf.jms.activemq.tcp.client"
b로 변경하십시오. [ACTIVEMQ_IP]를 브로커 IP로 바꾸고
"tcp://[ACTIVEMQ_IP]:61616/rs_topic"
값을 가진"ecf.endpoint.connecttarget.id"
속성을 추가합니다. 주제 이름을 서비스와 관련된 것으로 변경할 수도 있습니다. 이제는 ActiveMQ JMS 서버 컨테이너가 필요합니다. 공급자 측에 다음 코드를 추가합니다. Activator를 사용하거나 DS로 새 구성 요소를 실행하십시오. 서비스 레지스트리에서
IContainerFactory
오브젝트를 가져올 수도 있습니다.IContainerFactory containerFactory = ContainerFactory.getDefault(); containerFactory.createContainer("ecf.jms.activemq.tcp.manager", new Object[] { "tcp://[ACTIVEMQ_IP]:61616/rs_topic" });