私は Websphere MQ を使用しており、Spring 統合と jms アダプターを使用してキューからメッセージを読み取っています。
メッセージを手動でキューに追加すると、アプリケーションはメッセージを読み取り、データを a として読み取り、String
すべて問題ありません。
ただし、外部パーティがメッセージをキューに追加している場合、アプリケーションはメッセージをバイト配列として読み取り、次の例外をスローします。
Caused by: java.lang.ClassCastException: [B cannot be cast to java.lang.String
メッセージは、MQExplorer で同じように見えます。
Format 列に気付きましたが、文字列として処理されているMQSTR
メッセージには値があり、Byte[] として処理されているメッセージには何もありません。これは関連している可能性がありますか?もしそうなら、メッセージの「フォーマット」を設定する方法はありますか?
少なくとも問題を再現できるように、メッセージのペイロード コンテンツ タイプを決定するものを知っている人はいますか?