2009-08-16 2 views
1

Ich habe eine Java-Anwendung, die einen Zuhörer in eine Warteschlange stellt, die onMessage(Message) eine Unterklasse von javax.jms.TextMessage bekommt, wie kann ich es eine Unterklasse von javax.jms.BytesMessageJMS Websphere MQ BytesMessge und Textmessage

Hinweis bekommen machen: Ich weiß nicht Zugriff auf die Anwendung haben, die die Nachrichten sendet.

Antwort

2

Der Nachrichtentyp wird vom Absender festgelegt. Kann der Sender nicht geändert werden, kann der empfangene Nachrichtentyp nicht geändert werden.

Was ist das ultimative Ziel? Kannst du ändern, wie der Empfänger die Nachricht verarbeitet, um das zu erreichen, was du versuchst? Wenn Sie die Zeichenfolge aus einer TextMessage verwenden, können Sie String.getBytes() verwenden, um die Byte-Array-Version dieser Zeichenfolge abzurufen.

Wenn Sie etwas viel exotischer als das tun möchten, brauchen Sie nicht irgendwie Zusammenarbeit vom Absender?

+0

String.getBytes() gibt den Plattformstandard zurück. Wenn die Bytes in der TextMessage etwas anderes sind als der Standard der Plattform, werden die Bytes entstellt. Verwenden Sie stattdessen String.getBytes (String), wobei der Parameter die Codierung der Textnachricht darstellt. – noahlz