2009-08-16 3 views
1

У меня есть приложение Java, который устанавливает слушатель в очереди, то onMessage(Message) получает подкласс javax.jms.TextMessage, как я могу сделать это получить подкласс javax.jms.BytesMessageJMS Websphere MQ BytesMessge и TextMessage

Примечания: Я не имеют доступ к приложению, которое отправляет сообщения.

ответ

2

Тип сообщения определяется отправителем. Если отправитель не может измениться, полученный тип сообщения не может измениться.

Какова конечная цель? Можете ли вы изменить, как получатель обрабатывает сообщение, чтобы выполнить то, что вы пытаетесь сделать? Имея строку из TextMessage, вы можете использовать String.getBytes(), чтобы получить версию массива байтов этой строки.

Если вы хотите сделать что-нибудь более экзотичное, разве вам не нужно какое-либо сотрудничество от отправителя?

+0

String.getBytes() вернет платформу по умолчанию. Если байты в TextMessage - это нечто иное, чем платформа по умолчанию, байты будут искажены. Вместо этого используйте String.getBytes (String), где параметр является кодировкой текстового сообщения. – noahlz

Смежные вопросы