2014-12-12 2 views

ответ

0

Я отвечу на свой вопрос, чтобы документировать его.

  1. Получить минимальное рабочее ECF удаленного обслуживания рабочего места, с ecf.generic.server как распределение и один из поставщиков обнаружения (Zookeeper, например). Вы можете использовать учебник http://wiki.eclipse.org/EIG:Getting_Started_with_OSGi_Remote_Services.

  2. Установите брокер ActiveMQ с настройкой по умолчанию.

  3. Загрузите поставщиков JMS/ActiveMQ ECF с https://github.com/ECF/JMS. Добавьте проекты org.eclipse.ecf.provider.jms и org.eclipse.ecf.provider.jms.activemq в рабочее пространство, создайте и добавьте их в свою конфигурацию запуска или целевую платформу.

  4. Для служебных свойств поставщика, необходимо выполнить следующие изменения:

    а. Измените имущество "service.exported.configs" на "ecf.jms.activemq.tcp.client"

    b. Добавить "ecf.endpoint.connecttarget.id" со значением "tcp://[ACTIVEMQ_IP]:61616/rs_topic", заменив [ACTIVEMQ_IP] на брокера IP. Вы также можете изменить название темы как нечто, связанное с вашим сервисом.

  5. Теперь нам также нужен контейнер ActiveMQ JMS Server Container. Добавьте следующий код к стороне поставщика. Используйте активатор или запустите новый компонент с DS. Вы также можете получить объект IContainerFactory из реестра службы.

    IContainerFactory containerFactory = ContainerFactory.getDefault(); 
    containerFactory.createContainer("ecf.jms.activemq.tcp.manager", 
    new Object[] { "tcp://[ACTIVEMQ_IP]:61616/rs_topic" }); 
    
Смежные вопросы