2017-07-12 12 views
1

Javaクラスを使用してIBM MQのチャネル圧縮にRLE、ZLIBFAST、またはZLIBHIGH以外のデータ圧縮計画を実装する方法を教えてください。Java用IBM MQクラスのチャネル圧縮

データ圧縮のためのLempel、DEFLATE、Huffmanコーディングのようなアルゴリズムがいくつかあります。実装にこれらのアルゴリズムを使用できますか?

+0

送信しているメッセージ本文を圧縮することができます。 MQFMT_NONEの形式でメッセージに変換を試みないようにしてください。これが異なるタイプのプラットフォーム間で送信されている場合は問題が発生する可能性があります(例:ASCII対EBCDIC)。この場合、受信側のアプリケーションは受信したメッセージを解凍することも知っている必要があります。 – JoshMc

+0

エンドツーエンドの圧縮を行う場合は、両端がJavaアプリケーションの場合、オープンソースプロジェクトUniversal File Moverを見てください:http://capitalware.com/ufm_overview.htmlメッセージを圧縮するコードがありますそれが送信される(送信者としてのUFM)および受信時にメッセージを解凍するコード(受信者としてのUFM)があります。注:JoshMcが指摘したように、ASCIIからEBCDICの問題は引き続き発生します。 – Roger

答えて

2

組み込みの圧縮機能を使用することを強く推奨します。そうしないと、MQの送受信出口を記述する必要があるためです。これを行うには、平均的なプログラミングスキルとMQの知識が必要です。

はい、クライアント側はJavaで記述できますが、サーバー側はCまたはアセンブラで記述する必要があります。

このパスを終了したら、他のクライアントサイドプラットフォームをサポートする準備はできていますか?

また、アプリケーションメッセージは32KBのチャンクにセグメント化されています。クライアント側とサーバー側の間で移動するすべてのセグメント(およびその逆)は、TSHヘッダーの接頭辞です。 IBMはTSHの構造を文書化していない。 Wire Sharkはそれを解釈するのにうってつけの仕事です(新しいTSHC & TSHMヘッダーを除く)。

ご質問については何も簡単です。私は多くのMQ出口を書いたので知っています。