在JBoss EAP 6.4中创建Deploy Listener ESB

时间:2018-09-28 07:18:01

标签: deployment listener jboss-eap-6 switchyard

我们在JBoss EAP 6.4中部署了几个开关站jar。一切正常,但是我们想创建一个事件侦听器,以在应用程序部署后执行一些代码,在取消部署后执行一些其他代码,但是诚挚的,我不知道从哪里开始。 这是我们的基本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 :(得分:0)

我认为您有几种选择,我不确定您要在部署后和取消部署后要做什么,这是我认为最好的两种方法:

  • 将您的SwitchYard应用程序部署为WAR或EAR,并使用相关性来订购SwitchYard应用程序和部署后的应用程序。我想您甚至不必将SwitchYard应用程序部署为WAR或EAR-如果您进行WAR或EAR就足够了,该模块取决于要加载的Switchyard应用程序来获取部署挂钩。

  • 最简单的方法:使用您用于部署/取消部署的任何脚本,或用于启动/停止EAP的任何脚本进行操作