MessageListenerAdapter 即消息监听适配器
这一节,我们先写一下代码,再总结 MessageListenerAdapter 的使用
代码实现:代码地址:https://github.com/hmilyos/rabbitmq-spring-demo
1.简单使用默认方法


这个 handleMessage 方法名要根据 org.springframework.amqp.rabbit.listener.adapter 包下的 MessageListenerAdapter.ORIGINAL_DEFAULT_LISTENER_METHOD 的默认值来确定,源码如下

运行之前的测试用例

handleMessage 方法进行消息的消费

2.采用自己指定一个方法的名字

MessageDelegate 里面的消费方法改成 consumeMessage

继续运行 testSendMessage, 查看到消费

4.添加一个转换器,从字节数组转换为 String

toMessage 就是 Java 对象转换为 Message,fromMessage 就是 Message 转为 Java 对象

关键点,这里使用的不再是字节数组了!!

写个单元测试用例,注意 contentType 要包含 text !!


5.队列名称 和 方法名称 也可以进行一一的匹配


看一下之前建立的绑定关系

写个单元测试用例

运行测试 testSendMessage4Text 查看到两个队列的消费

通过上面 MessageListenerAdapter 的使用代码,我们可以看出它有如下核心属性
defaultListenerMethod 默认监听方法名称:用于设置监听方法的名称
delegate 委派对象: 实际真实的委派对象,用于处理消息
queueOrTagMethodName 队列标识于方法名称组成的集合。
可以一一进行队列于方法名称的匹配。
队列和方法名称绑定,即指定队列里的消息会被绑定的方法所接受处理。
网友评论