2017-06-14 15 views
2

@JmsListenerが自動的にjsonオブジェクトをオブジェクトに変換することを期待していましたが、ペイロードはデータを実際のオブジェクトではなくjson形式の文字列として返します。 { "ID": "1"、 "名": "2222"}Spring @JmsListenerは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(); 
} 

は、しかし、我々はこのような文字列形式でレスポンスを受信

をそして、これは実行時に失敗しています。コードの

私の他の作品は以下のとおりです。

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

答えて

0

それはプロデューサーが送られたかに依存します。

TextMessageが送信された場合、Stringが返されます。 ObjectMessageが送信された場合は、Objectを取得できます。

関連する問題