IBM MQ Java类中的通道压缩

IBM MQ Java类中的通道压缩,java,ibm-mq,Java,Ibm Mq,如何使用Java类在IBM MQ中实现除RLE、ZLIBFAST或ZLIBHIGH之外的数据压缩计划来进行通道压缩 数据压缩有几种算法,如Lempel、DEFLATE和Huffman编码。我可以使用这些算法来实现吗 我强烈建议您使用内置压缩功能,否则您将需要为MQ编写发送和接收出口。要做到这一点,您将需要高于平均水平的编程技能和非常丰富的MQ知识 是的,您可以用Java编写客户端,但服务器端必须用C或汇编语言编写 一旦走上这条路,您是否准备好支持其他客户端平台?即原生(C或COBOL)、.NET

如何使用Java类在IBM MQ中实现除RLE、ZLIBFAST或ZLIBHIGH之外的数据压缩计划来进行通道压缩


数据压缩有几种算法,如Lempel、DEFLATE和Huffman编码。我可以使用这些算法来实现吗

我强烈建议您使用内置压缩功能,否则您将需要为MQ编写发送和接收出口。要做到这一点,您将需要高于平均水平的编程技能和非常丰富的MQ知识

是的,您可以用Java编写客户端,但服务器端必须用C或汇编语言编写

一旦走上这条路,您是否准备好支持其他客户端平台?即原生(C或COBOL)、.NET、C++等。 此外,应用程序消息被分割成32KB的块。在客户端和服务器端之间移动的所有段(反之亦然)都是带有TSH头的前缀。IBM没有记录TSH结构,因为他们不想让人们弄乱它。尽管如此,WireShark在解释它方面做得很好(除了新的TSHC和TSHM标题)


你的问题绝对不简单。我知道,因为我写了很多MQ出口。

您可以压缩正在发送的消息体。确保为消息提供MQFMT_NONE格式,以便不尝试转换。如果在不同类型的平台之间发送(例如:ASCII与EBCDIC),则可能会出现问题。在这种情况下,接收应用程序还需要知道如何解压缩它接收到的消息。如果你想进行端到端压缩,其中两端都是Java应用程序,那么看看开源项目Universal File Mover:它有代码在发送消息之前对消息进行压缩(UFM作为发送方)它有代码在接收时解压缩消息(UFM作为接收器)。注意:正如JoshMc指出的,您仍然会遇到ASCII到EBCDIC的问题。