rabbitMQ 高级整合应用第四篇 消息监听适配器

rabbitMQ 高级整合应用第四篇 消息监听适配器
2019年08月21日 22:03 科技AI说

RabbitMQ学习系列22高级集成第四条MessageListenerAdapterMessageListenerAdaoter:,消息侦听适配代码演示:在config类中修改:在SimpleMessageListenerContainerbean(上一课代码演示)中,修改如下:/*使用适配器模式*/MessageListenerAdapter=新MessageListenerAdapter(新MessageDelegate();messageListenerContainer.setMessageListener(适配器);查看MessageDelegate类:运行测试类:@Testpublic setRabbitTemplatTest()抛出异常{/create MessageProperties messageProperties=新的MessageProperties();MessageProperties.getHeader()。

put(‘desc’,‘可以在这里添加一些描述信息);messageProperties.getHeader()。

put(‘mytype’,‘这里是自定义的’);String msessage=‘this Spring msg’;Message=新消息(msessage.getBytes(),messageProperties);/使用模板rabbitTemplate.ConvertAndSend(‘topic001’,‘Spring.amqp’,Message,新MessagePostProcessor(){@Overridepublic消息postProcessMessage(消息)引发AmqpException{.out.println(‘-添加附加信息-’);message.MessageProperties()。

GetHeader()放置(‘desc’,‘可以在这里添加一些描述信息这是修改后的‘);message.getMessageProperties()。

GetHeader()PUT(‘attr’,‘Oops,这是额外的’);返回消息;}Run效果:显示我们使用适配器模式是成功的说明:不能在MessageDelegate类中修改handleMessage方法的名称和参数方法体我们可以定制为什么不能修改handlerMessage方法让我们看一看源代码:在源代码中,有一个用于Default_Listener_Method的静态变量这是值得一试的消息。

现在你知道为什么你不能摆脱它了吧?

如果您想指定您所写的名称,其实没关系。

在config中,监听程序可以在setatche时指定默认方法名称。

如下所示:修改MessageDelegate:运行测试:我们可以在控制台中看到并调用我们的自定义方法。

注意,默认调用方法已成功修改。

在不使用OBJ数组的情况下修改消息的内容使用字符串按以下方式修改MessageDelegate类:Moditionconfig。添加消息转换器:MyMessageConveter类:执行测试方法:在控制台上正确地打印它指示我们成功地修改了消息转换类。本文摘要:下面的预览部分:让我们继续使用自

财经自媒体联盟

新浪首页 语音播报 相关新闻 返回顶部