【发布时间】:2017-11-24 02:52:35
【问题描述】:
我正在使用带有 Spring 集成的 RabbitMQ。 我想为这样的消息监听器注册一个消息转换器:
<rabbit:listener-container
connection-factory="gesbRabbitmqConnectionFactory"
acknowledge="auto"
channel-transacted="true"
transaction-manager="rabbitTxManager"
task-executor="gesbSyncExecutor"
concurrency="1"
max-concurrency="2"
requeue-rejected="false"
message-converter="gesbDataMessageConverter">
<rabbit:listener
ref="gesbListenerBean"
queue-names="${gesb.partyid.queue}" />
</rabbit:listener-container>
当应用程序启动时,我在 setMessageConverter 中放置了一个断点,并且我的消息转换器 gesbDataMessageConverter 设置正确。 但是在运行时消息到达时消息转换器是 SimpleMessageConverter 而不是我的。 有什么想法吗?
作为一种解决方法,我将转换器注入侦听器并再次调用 setMessageConverter,它似乎可以工作,但我不知道为什么最初它没有。监听对象只有一个,set方法只调用一次。
【问题讨论】:
-
您只需通过“编辑”功能将您的评论移至问题。
标签: java spring rabbitmq spring-integration