1

MQMessage をシリアル化し、ディスク/データベースに保存したいと考えています。私の目標は、すべてのヘッダー、名前付きプロパティ、およびコンテンツをそのままにして、後でシリアル化解除できるようにすることです。

明確にするために、次のようなものが必要です。

byte[] serialize(MQMessage m);
MQMessage deserialize(byte[] b);

次のことを行うとき:

MQMessage M = deserialize(serialize(m));

私が得るのは、それMがの「クローン」ですm

これは、必要に応じて処理のためにメッセージを再送信できるようにするために必要です (大規模な MQ ネットワークでは、アプリケーションは遅かれ早かれいくつかのメッセージを食べたり失ったりします)。そのため、再送信する各 MQMessage の 1:1 コピーをデシリアライズできる必要があります (つまり、その内容だけでなく、そのヘッダー、プロパティ、エンコード、フォーマットなども含めて)。

残念ながら、MQMessage はどのようなシリアライゼーション メカニズムも実装していないようです。これをどのように行うつもりですか?シリアライゼーション/デシリアライゼーション コードを手作りすることが唯一の方法ですか?

4

1 に答える 1

0

車輪を再発明する理由。メッセージの再生に使用できる無料の商用ツールはすでにたくさんあります。

無料の MQ ツールのリストは次のとおりです: http://www.capitalware.biz/mq_tools.html

商用 MQ ツールのリストは次のとおりです: http://www.capitalware.biz/mq_tools_comm.html

于 2013-03-01T00:33:26.610 に答える