Spring 完成jms:listener到JavaConfig的迁移
正如标题所说 我已经阅读了这个有价值的链接 那篇文章的作者正在研究Spring 完成jms:listener到JavaConfig的迁移,spring,spring-3,spring-jms,spring-4,Spring,Spring 3,Spring Jms,Spring 4,正如标题所说 我已经阅读了这个有价值的链接 那篇文章的作者正在研究 messageListenerContainer.setMessageListener(new TaskFinished()); 顺便说一句:我用 @Autowired private ConsumerListener consumerListener; defaultMessageListenerContainer.setMessageListener(consumerListener); 我没有使用新的操作符 好的,s
messageListenerContainer.setMessageListener(new TaskFinished());
顺便说一句:我用
@Autowired
private ConsumerListener consumerListener;
defaultMessageListenerContainer.setMessageListener(consumerListener);
我没有使用新的操作符
好的,setMessageListener方法的限制是:该类必须实现MessageListener接口,我已经测试并运行
我的问题是,根据
如何表示以下内容:
<jms:listener destination="queue.orders" ref="orderService" method="placeOrder"/>
<jms:listener destination="queue.confirmations" ref="confirmationLogger" method="log"/>
通过JavaConfig
它们是简单的pojo(请参见ref
和method
属性)
我想使用一个选项来创建一个简单的pojo(@Component或@Service),而不是MessageListener对象
在API中,没有任何东西可以解决这个需求或情况
提前谢谢
<jms:listener destination="queue.orders" ref="orderService" method="placeOrder"/>
要从Java配置中使用它,请使用类似上面的代码段。谢谢Marten,它可以工作!。。我已经编辑了您的返回变量,必须是dmlc,而不是listener。再次感谢你
@Configuration
public MyJmsConfiguration {
@Bean
public DefaultMessageListenerContainer consumerJmsListenerContainer() {
DefaultMessageListenerContainer dmlc = new DefaultMessageListenerContainer();
...
MessageListenerAdapter listener = new MessageListenerAdapter();
listener.setDelegate(orderService());
listener.setDefaultListenerMethod("placeOrder");
dmlc.setMessageListener(listener);
return dmlc;
}