Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 完成jms:listener到JavaConfig的迁移_Spring_Spring 3_Spring Jms_Spring 4 - Fatal编程技术网

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;
}