java – Spring JmsTemplate – 添加自定义属性
发布时间:2020-12-14 23:48:02 所属栏目:Java 来源:网络整理
导读:我使用 Spring API的JmsTemplate和MappingJackson2MessageConverter(版本:spring-jms-4.3.4.RELEASE.jar)来发布消息 到ActiveMQ主题,如下面的代码所示. TopicPublisher类: @Componentpublic class TopicPublisher { @Autowired private JmsTemplate jmsTem
我使用
Spring API的JmsTemplate和MappingJackson2MessageConverter(版本:spring-jms-4.3.4.RELEASE.jar)来发布消息
到ActiveMQ主题,如下面的代码所示. TopicPublisher类: @Component public class TopicPublisher { @Autowired private JmsTemplate jmsTemplate; @Autowired private MessageConverter messageConverter; public void send() { Product product = new Product(); product.setName("abcd"); product.setPrice(10); jmsTemplate.setMessageConverter(messageConverter); jmsTemplate.convertAndSend("product.topic",product); } } MappingJackson2MessageConverter类: @Configuration public class JMSTextMessageConverter { @Bean public MessageConverter jacksonJmsMessageConverter() { MappingJackson2MessageConverter mappingJackson2MessageConverter = new MappingJackson2MessageConverter(); mappingJackson2MessageConverter.setTargetType(MessageType.TEXT); mappingJackson2MessageConverter.setTypeIdPropertyName("_type"); return mappingJackson2MessageConverter; } } 现在,我想为发布到主题的JMS消息设置一些自定义标头. 解决方法
您可以通过发送MessagePostProcessor从JmsTemplate使用convertAndSendmethod添加自定义属性,如下所示:
jmsTemplate.convertAndSend("product.topic",product,new MessagePostProcessor() { @Override public Message postProcessMessage(Message message) throws JMSException { message.setStringProperty("my_property","my_value"); return message; } }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读