java - 如何在Spring-Boot中创建DefaultMessageListenerContainer?

标签 java spring multithreading spring-boot weblogic

我是 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>

最佳答案

创建一个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上创建的这篇文章.

关于java - 如何在Spring-Boot中创建DefaultMessageListenerContainer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52050440/

相关文章:

java - 将初始化代码添加到 Spring Boot 应用程序的正确方法是什么?

java - Spring : hibernate + ehcache

java - 无法使用java多线程计算元音

c++ - 并行线程中的数据库访问,可行的选择?

c++ SIGABRT在多线程应用程序的结构析构函数中

java - 如何将 FileResource 加载到字节数组中?

java - 将更新更改生成为增量脚本

spring - 多个 bean 引用同一个 Singleton Bean

java - 如何在 ArrayList 中创建(未知)数量的 ArrayList?

java - 请求列表大小时的并发修改