2016-07-07 16 views
0

Ich arbeite mit einer Camel-Anwendung, die Nachrichten aus einer JMS-Warteschlange nimmt und sie in eine andere JMS-Warteschlange schreibt.Kann ich eine Camel-Routing-App zwingen, JMS BytesMessages mit Textinhalt zu erstellen?

Die Ausgabenachrichten sind JMS TextMessages, die für diesen bestimmten JMS-Broker nicht ganz bevorzugt sind. Ich habe für dieses Produkt bestimmt, und für die Downstream-Verbraucher (nicht JMS) möchten wir, dass Camel javax.jms.BytesMessages produziert, aber ihre Daten als String über Message.writeUTF(String) auffüllt.

Ich habe festgestellt, dass der Frühling JMSConfiguration mir eine Eigenschaft jmsMessageType="Bytes" einstellen lässt, die mich auf halbem Wege dort ankommt, aber gibt es eine andere Konfiguration es über writeUTF meine String Nutzlast machen schreiben? Zur Zeit scheint es, als würde die Zeichenkette in ein Byte-Array geschrieben und dann über BytesMessage.writeBytes(byte[]) gesetzt werden.

Antwort

0

finden Sie in der Dokumentation, wie ein Konverter benutzerdefinierte Nachricht, die Sie http://camel.apache.org/jms

Dann können sich die Zuordnung zu JMS-Message tun und die writeUTF Methode