MQ メッセージ用のメッセージ フォワーダー/ルーターのようなものがあります。いくつかのルールに基づいてメッセージを転送しようとしています。この転送は、1 つのキューからメッセージを受信し、(同じ内容または変更された内容の) 新しいメッセージを作成し、それを別のキューに入れることによって簡単に実行されます。フォワーダーの存在は、可能な限り透過的である必要があります。
現時点で私の問題はPutApplicationType
メッセージ プロパティです。このプロパティを変更できないようです。私は.NETとJavaの両方のサンプル実装を持っており、単純に使用しようとしています:
MQMessage forwardedMessage = new MQMessage();
forwardedMessage.putApplicationType = CMQC.MQAT_UNIX;
どのような値を使用しようとしても問題ありません。.NET バージョンは常にMQAT_DEFAULT
/MQAT_WINDOWS_NT
でメッセージを送信し、Java バージョンは常に でメッセージを送信しますMQAT_JAVA
。
このヘッダーを変更することは可能ですか? そうでない場合、値を変更しないとレガシーシステムに問題が発生する可能性がありますか? 値を変更できないのはなぜですか?
ところで。元のメッセージの転送も機能しません - 私のアプリケーションはPutApplicationType
プロパティも変更します。
編集: ネイティブ C API を使用すると、このプロパティの内容を制御できますか?