Man*_*dan 3 spring spring-3 spring-jms spring-4
就像标题所说..
我已经阅读了这个有价值的如何在单个MessageListenerContainer中为Spring Java Config链接添加多个JMS MessageListners
这篇文章的作者正在努力
messageListenerContainer.setMessageListener(new TaskFinished());
Run Code Online (Sandbox Code Playgroud)
顺便说一句:我用
@Autowired
private ConsumerListener consumerListener;
defaultMessageListenerContainer.setMessageListener(consumerListener);
Run Code Online (Sandbox Code Playgroud)
我没有使用新的运算符.
好的,setMessageListener方法的限制是:该类必须实现MessageListener接口,我已测试并正常工作
根据23.6 JMS命名空间支持,我的问题是
如何表示以下内容:
<jms:listener destination="queue.orders" ref="orderService" method="placeOrder"/>
<jms:listener destination="queue.confirmations" ref="confirmationLogger" method="log"/>
Run Code Online (Sandbox Code Playgroud)
通过JavaConfig?
它们是简单的pojo(参见ref和method属性)
我想使用一个简单的pojo(@Component或@Service)选项而不是MessageListener对象
在DefaultMessageListenerContainer API中,没有任何东西可以解决此要求或情况.
提前致谢..
<jms:listener destination="queue.orders" ref="orderService" method="placeOrder"/>
Run Code Online (Sandbox Code Playgroud)
这个xml使用一个MessageListenerAdapter你可以交给一个委托(ref和一个执行的方法)(默认'handleMessage`).
@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;
}
Run Code Online (Sandbox Code Playgroud)
要从Java配置中使用它,请使用类似上面的代码段.
| 归档时间: |
|
| 查看次数: |
1490 次 |
| 最近记录: |