Ich habe Objekt, das über JMS auf ein Bauteil übertragen wird, die über den Kanal-Adapter in die Warteschlange hört:Frühling Integration Java DSL: Geben Sie benutzerdefinierte Deserializer
IntegrationFlows
.from(Jms.messageDriverChannelAdapter(connectionFactory)
.destination(inputQueue)
)
Doch diese Art von Setup gibt nur eine Möglichkeit ObjectMessage
jedoch zu erhalten Ich möchte einen benutzerdefinierten Deserializer zur Verfügung stellen, der auch BytesMessage
akzeptiert. Das gewünschte Setup sieht so aus:
IntegrationFlows
.from(Jms.messageDriverChannelAdapter(connectionFactory)
.destination(inputQueue)
.deserializeWith((javax.jms.Message message) -> new org.springframework.messaging.Message(){}) // Does not exist, but desired
)
Vielen Dank im Voraus.
Vielen Dank für Ihre schnelle Antwort. Kleine Frage: Wenn ich es nicht spezifiziere, wird org.springframework.jms.support.converter.SimpleMessageConverter verwendet? – tkachuko
+1: 'ChannelPublishingJmsMessageListener': https://github.com/spring-projects/spring-integration/blob/master/spring-integration-jms/src/main/java/org/springframework/integration/jms/ChannelPublishingJmsMessageListener. Java # L72 –