Создание Deploy Listener ESB в JBoss EAP 6.4 - PullRequest
0 голосов
/ 28 сентября 2018

у нас есть несколько jar распределительных щитов, развернутых в JBoss EAP 6.4.Все работает нормально, но мы хотим создать прослушиватель событий для выполнения некоторого кода после развертывания приложения и другого кода после отмены развертывания, но искренне я не знаю, с чего начать.Это наш основной файл switchyard.xml

    <?xml version="1.0" encoding="UTF-8"?>
<sy:switchyard xmlns:bean="urn:switchyard-component-bean:config:2.0" xmlns:resteasy="urn:switchyard-component-resteasy:config:2.0" xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" xmlns:sy="urn:switchyard-config:switchyard:2.0" name="esb-empty" targetNamespace="urn:it.empty.esb:esb-empty:1.0">
  <sca:composite name="esb-empty" targetNamespace="urn:it.empty.esb:esb-empty:1.0">
    <sca:component name="Component">
      <bean:implementation.bean class="it.empty.esb.service.EmptyServiceBean"/>
      <sca:service name="EmptyService">
        <sca:interface.java interface="it.empty.esb.service.EmptyService"/>
      </sca:service>
    </sca:component>
    <sca:service name="EmptyService" promote="Component/EmptyService">
      <sca:interface.java interface="it.empty.esb.service.EmptyService"/>
      <resteasy:binding.rest name="REST">
        <resteasy:contextMapper class="it.empty.esb.util.RestContextMapper"/>
        <resteasy:interfaces>it.empty.esb.service.EmptyResource</resteasy:interfaces>
        <resteasy:contextPath>esb-empty</resteasy:contextPath>
      </resteasy:binding.rest>
    </sca:service>
  </sca:composite>
    <sy:domain>
      <sy:properties>
        <sy:property name="org.switchyard.handlers.messageTrace.enabled" value="false"/>
      </sy:properties>
    </sy:domain>
</sy:switchyard>

. Я хочу автоматически создать экземпляр org.springframework.context.annotation.AnnotationConfigApplicationContext вместо установки вручную во время первого вызова rest.Каждый esb на сервере управляет различным AnnotationConfigApplicationContext, поэтому я думаю, что прослушиватель событий должен быть внутри каждого esb.

Возможно ли это?Можете ли вы дать мне несколько советов?Нужна ли другая информация?

1 Ответ

0 голосов
/ 29 сентября 2018

Я думаю, что у вас есть несколько вариантов, я не совсем уверен, что вы пытаетесь сделать после развертывания и после отмены развертывания, вот что я считаю лучшими двумя:

  • разверните приложение SwitchYard как WAR или EAR и используйте зависимости, чтобы заказать приложение SwitchYard и приложение после развертывания.Я предполагаю, что вам даже не нужно развертывать приложение SwitchYard как WAR или EAR - было бы достаточно, если бы вы сделали WAR или EAR, чтобы этот модуль зависел от загрузки вашего приложения Switchyard, чтобы получить ловушку развертывания.

  • проще всего: сделать что-нибудь с любым сценарием, который вы используете для развертывания / отмены развертывания, или любым сценарием, который вы используете для запуска / остановки EAP

...