Inspired by the introduction of JdbcClient in 6.1 (#30931) and by the requirements for customizable operations expressed in #26840, we intend to investigate the introduction of a similarly designed JmsClient API.

This can also bring unified message conversion capabilities from JmsTemplate (payload objects and jakarta.jms.Message) as well as JmsMessagingTemplate (org.springframework.messaging.Message), being able to interact with org.springframework.jms.support.converter.MessageConverter as well as org.springframework.messaging.converter.MessageConverter.

Comment From: snicoll

Another use case that's not easily doable with JmsTemplate that could help during the design of the client. Receiving a message synchronously and sending a reply with the same session. This is the kind of interaction that you get for a @JmsListener-annotated method.