🎄 Happy Holidays! 🥳

Most of Solace is closed December 24–January 1 so our employees can spend time with their families. We will re-open Thursday, January 2, 2024. Please expect slower response times during this period and open a support ticket for anything needing immediate assistance.

Happy Holidays!

Please note: most of Solace is closed December 25–January 2, and will re-open Tuesday, January 3, 2023.

Solace JmsListener Message conversion Exception

akg17
akg17 Member Posts: 76

The original message is Text Message only, it was working previously recently ran into this issue.

org.springframework.jms.listener.adapter.ListenerExecutionFailedException: Listener method could not be invoked with incoming message
2022-01-04T12:16:54.220+05:30 [APP/PROC/WEB/0] [OUT] Endpoint handler details:
2022-01-04T12:16:54.220+05:30 [APP/PROC/WEB/0] [OUT] Method [public void com.test.gateway.Listener.receiveMessage(javax.jms.TextMessage)]

Caused by: org.springframework.messaging.converter.MessageConversionException: Cannot convert from [[B] to [javax.jms.TextMessage] for org.springframework.jms.listener.adapter.AbstractAdaptableMessageListener$MessagingMessageConverterAdapter$LazyResolutionMessage@13a254b3

@JmsListener(destination = "TestQueue")
void receiveMessage(TextMessage textMessage ){ }

The project also uses spring cloud stream but this is separate microservice and none of the queue are related to SCS. all the listener consumes message from solace queue using jmsListener.

Comments

  • Aaron
    Aaron Member, Administrator, Moderator, Employee Posts: 644 admin

    Without looking too deeply into this, one thought is to check your connection factory settings, and see if the (default) option of "send TextMessage using XML payload" is set to true. This might be causing your issue?

    # show jndi connection-factory cf1 detail
    
    Connection Factory : cf1
    Message VPN : default
      messaging-properties : 6
        default-delivery-mode        : persistent
        text-msg-xml-payload         : true             <----
        default-dmq-eligible         : false
        default-eliding-eligible     : false
        xa                           : false
        jmsx-user-id-enabled         : false
    

    https://docs.solace.com/Solace-JMS-API/Message-Properties.htm#jms_properties_39190069_304117

    Are you using the most recent version of the Solace binder? I thought there might have been a fix for this recently..?