Java 与jms:listener容器等效的Spring注释
我正在研究使用Spring的JMS,希望在我的MVC webapp启动时创建一个特定队列的并发使用者 我在SO()的其他地方看到了以下XML配置: 我搜索了许多示例,但到目前为止,我找到的都是基于XML的。您想要: 有关将XML参数映射到Java参数的信息,请阅读Java 与jms:listener容器等效的Spring注释,java,spring,spring-mvc,Java,Spring,Spring Mvc,我正在研究使用Spring的JMS,希望在我的MVC webapp启动时创建一个特定队列的并发使用者 我在SO()的其他地方看到了以下XML配置: 我搜索了许多示例,但到目前为止,我找到的都是基于XML的。您想要: 有关将XML参数映射到Java参数的信息,请阅读 <jms:listener-container concurrency="10"> <jms:listener destination="some.queue" ref="fooService" method
<jms:listener-container concurrency="10">
<jms:listener destination="some.queue" ref="fooService" method="handleNewFoo"/>
</jms:listener-container>
@Configuration
@ComponentScan(basePackages="net.domain.orders")
public class JmsConfiguration {
@Bean
public JmsTemplate jmsTemplate() {
JmsTemplate jmsTemplate = new JmsTemplate();
jmsTemplate.setDefaultDestination(new ActiveMQQueue("orders.queue"));
jmsTemplate.setConnectionFactory(connectionFactory());
return jmsTemplate;
}
@Bean
public ActiveMQConnectionFactory connectionFactory() {
ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory();
activeMQConnectionFactory.setBrokerURL("tcp://localhost:61616");
return activeMQConnectionFactory;
}
}
@Bean
public DefaultMessageListenerContainer jmsListenerContainer() {
DefaultMessageListenerContainer dmlc = new DefaultMessageListenerContainer();
dmlc.setConnectionFactory(connectionFactory());
dmlc.setDestination(new ActiveMQQueue("orders.queue"));
// To schedule our concurrent listening tasks
dmlc.setTaskExecutor(taskExecutor());
// To perform actual message processing
dmlc.setMessageListener(messageListener());
dmlc.setConcurrentConsumers(10);
// ... more parameters that you might want to inject ...
return dmlc;
}