dev*_*per 9 java spring jms spring-jms
我正在使用Spring API JmsTemplate和MappingJackson2MessageConverter(version 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);
}
}
Run Code Online (Sandbox Code Playgroud)
MappingJackson2MessageConverter类:
@Configuration
public class JMSTextMessageConverter {
@Bean
public MessageConverter jacksonJmsMessageConverter() {
MappingJackson2MessageConverter mappingJackson2MessageConverter
= new MappingJackson2MessageConverter();
mappingJackson2MessageConverter.setTargetType(MessageType.TEXT);
mappingJackson2MessageConverter.setTypeIdPropertyName("_type");
return mappingJackson2MessageConverter;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我想为发布到主题的JMS消息设置一些自定义标头.我用谷歌搜索,找不到任何这样做的例子.你能帮我吗 ?
vic*_*let 16
您可以通过发送使用convertAndSend方法添加自定义属性,如下所示:JmsTemplateMessagePostProcessor
jmsTemplate.convertAndSend("product.topic", product, new MessagePostProcessor() {
@Override
public Message postProcessMessage(Message message) throws JMSException {
message.setStringProperty("my_property", "my_value");
return message;
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7432 次 |
| 最近记录: |