簡體   English   中英

如何在 Spring-Boot 中創建 DefaultMessageListenerContainer?

[英]How to create DefaultMessageListenerContainer in Spring-Boot?

我是 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上創建的這篇文章。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM