Spring @JmsListener 无法将 json 转换为对象

krmanish007

我期待 @JmsListener 会自动将 json 对象转换为我的对象,但它的有效负载以 json 格式而不是实际对象的形式返回数据作为字符串。

    @JmsListener(destination = "${default-queue-name-to-listen}")
    public void receiveMessage(final Message<MyObject> message) throws JMSException {
        logger.info("message received from the queue/topic : {}", message);
        MyObject response = message.getPayload();
}

但是我们收到这样的字符串格式的响应:{"id":"1","name":"2222"}

这在运行时失败了。

我的另一段代码是:

@Bean
public JmsListenerContainerFactory jmsListenerContainerFactory(ConnectionFactory connectionFactory) throws URLSyntaxException {
    DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
    factory.setConnectionFactory(connectionFactory);
    factory.setSubscriptionDurable(true);
    factory.setPubSubDomain(true);
    return factory;
}
流动性

这取决于生产者发送的内容。

如果发送了 TextMessage,您将获得一个字符串。如果发送了一个 ObjectMessage,您可以获得一个 Object。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章