java – Spring JmsTemplate – 添加自定义属性
发布时间:2020-05-25 15:03:17 所属栏目:Java 来源:互联网
导读:我使用 Spring API的JmsTemplate和MappingJackson2MessageConverter(版本:spring-jms-4.3.4.RELEASE.jar)来发布消息 到ActiveMQ主题,如下面的代码所示. TopicPublisher类: @Componentpublic class TopicPublisher { @Autowired pr
|
我使用
Spring API的JmsTemplate和MappingJackson2MessageConverter(版本:spring-jms-4.3.4.RELEASE.jar)来发布消息
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;
}
}); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
