我正在使用JmsTemplate转换和发送事件对象。我已经使用JmsTemplate注册了MappingJackson2MessageConverter。
Event event;
jmsTemplate.convertAndSend(topic, event);
我正在使用DefaultMessageListenerContainer
并从该主题获取消息。我不知道如何将此邮件转换回我的对象?
我的JmsTemplate的messageconverter是
public MessageConverter jacksonJmsMessageConverter() {
MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
converter.setTargetType(MessageType.TEXT);
converter.setTypeIdPropertyName("_type");
return converter;
}
我尝试过调用MappingJackson2MessageConverter
并传递此消息对象进行转换,但它没有成功。
如何将我收到的消息对象转换为我想要的自定义对象?
@Bean
public DefaultMessageListenerContainer listenerContainer() {
DefaultMessageListenerContainer container = new DefaultMessageListenerContainer();
container.setConnectionFactory(connectionFactory());
container.setDestinationName(COMMENT_QUEUE);
container.setPubSubDomain(true);
container.setMessageListener(new AcListenerSubscriber());
container.start();
return container;
}
答案 0 :(得分:0)
仅当您使用MessageConverter
批注创建侦听器时才应用@JmsListener
。
在MessageListener
这样的AcListenerSubscriber
情况下,它将被忽略。