如何停止/启动 spring DefaultMessageListenerContainer?

2024-03-17

我开发了使用 Spring JMS 的项目来接收来自队列的消息。并部署Websphere应用服务器(WAS 7.5)集群环境。 一旦部署到服务器中,它就工作正常。后来我更新了记录器信息并部署到服务器中。看来服务器没有选择最新的代码库。即使我已经停止/启动集群。

请参考下面的配置xml。

<bean id="connectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory">
            <property name="hostName" value="${hostName}"/>
            <property name="port" value="${port}"/>
            <property name="queueManager" value="${queueManager}"/>
            <property name="transportType" value="${transportType}"/>
            <property name="channel" value="${channel}"/> 
   </bean>

   <jms:listener-container container-type="default"
connection-factory="connectionFactory" acknowledge="auto" concurrency="5" >
<jms:listener destination="DEV.TESTQUEUE" ref="jmsMessageListener" 
</jms:listener-container>

 <bean id="jmsMessageListener" class="JmsMessageListener"/>


      public class JmsMessageListener implements MessageListener { 

    public void onMessage(Message message) {

      }
    }


Could you please advise how to stop/start the container? 
  

这是我的解决方案:

final Map<String, DefaultMessageListenerContainer> containers = ctx.getBeansOfType(DefaultMessageListenerContainer.class);
        if (containers != null && !containers.isEmpty()) {
            for (DefaultMessageListenerContainer container : containers.values()) {
                container.stop();
            }
        }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何停止/启动 spring DefaultMessageListenerContainer? 的相关文章

随机推荐