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