【问题标题】:How to create DefaultMessageListenerContainer in Spring-Boot?如何在 Spring-Boot 中创建 DefaultMessageListenerContainer?
【发布时间】:2018-08-28 05:04:28
【问题描述】:

我是 Spring-Boot 的新手,正在尝试创建 DefaultMessageListenerContainer,以便我可以使用 weblogic workmanager 并以多线程方式运行多个消息侦听器。

谁能提供一些例子。 到目前为止,我找到了以下解决方案,但是如何在 Spring-Boot 中实现呢?

<bean class="org.springframework.jms.listener.SimpleMessageListenerContainer">
    <property name="connectionFactory" ref="connectionFactory"/>
    <property name="destination" ref="destination"/>
    <property name="messageListener" ref="receiver"/>
    <property name="taskExecutor" ref="taskExecutor"/>
</bean>

【问题讨论】:

    标签: java spring multithreading spring-boot weblogic


    【解决方案1】:

    创建ConnectionFactory

    @Bean
      public ActiveMQConnectionFactory receiverActiveMQConnectionFactory() {
        ActiveMQConnectionFactory activeMQConnectionFactory =
            new ActiveMQConnectionFactory();
        activeMQConnectionFactory.setBrokerURL("yourBrokerUrl");
    
        return activeMQConnectionFactory;
      }
    

    创建一个DefaultJmsListenerContainerFactory

    @Bean
      public DefaultJmsListenerContainerFactory orderDefaultJmsListenerContainerFactory() {
        DefaultJmsListenerContainerFactory factory =
            new DefaultJmsListenerContainerFactory();
        factory
            .setConnectionFactory(receiverActiveMQConnectionFactory());
        factory.setConcurrency("3-10");
    
        return factory;
      }
    

    创建您的DefaultMessageListenerContainer

    @Bean
      public DefaultMessageListenerContainer orderMessageListenerContainer() {
        SimpleJmsListenerEndpoint endpoint =
            new SimpleJmsListenerEndpoint();
        endpoint.setMessageListener(new YourMessageListener());
        endpoint.setDestination("yourDestination");
    
        return orderDefaultJmsListenerContainerFactory()
            .createListenerContainer(endpoint);
      }
    

    有关更详细的示例,请查看我在 Spring JMS listeners 上创建的这篇文章。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-08
      • 1970-01-01
      • 1970-01-01
      • 2017-05-08
      • 2017-08-20
      • 2023-02-06
      • 2019-03-15
      • 2021-06-29
      相关资源
      最近更新 更多