Как создать DefaultMessageListenerContainer в Spring-Boot? - PullRequest
0 голосов
/ 28 августа 2018

Я новичок в 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>

1 Ответ

0 голосов
/ 17 декабря 2018

Создать 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 слушателей .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...