キュー (Oracle AQ) からのメッセージをリッスンし、それらを別のキュー (Tibco EMS) に送信して、Tibco プロセス (BW) で処理する Java バッチを作成しています。
問題は、Oracle AQ ドライバーがいくつかのプロパティをメッセージ (JMSXGroupID、JMSXGroupSeq) に自動的に追加することです。これらのプロパティは、Tibco プロセスによって処理されるときにエラーを引き起こします。これらの値が正しくないためです。JMSXGroupSeq は int である必要がありますが、null に設定されています。メッセージのプロパティを解析しようとすると、Tibco でエラーが発生します...
したがって、すべてのメッセージからこれら 2 つのプロパティのみを削除したいのですが、jms API は clearProperties() メソッドのみを提供し、単一のプロパティ削除メソッドは提供していないようです (私は javax.jms.Message インターフェイスを使用しています)。
今のところ、2 つの解決策を確認できます。
これら 2 つのプロパティに正しい値を設定します。これは、Tibco がこれ以上使用しないと想定しているためです。
すべてのプロパティを読み取り、問題を引き起こす 2 なしでメッセージを再構築します。しかし、このアプローチは非常に醜いです...
誰にも他の解決策がありますか?