有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我原以为@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;
}

共 (1) 个答案

  1. # 1 楼答案

    这取决于制作人发送的内容

    如果发送了一条短信,你会得到一个字符串。如果发送了ObjectMessage,则可以获取一个对象