WebSphere MQ可以直接传输文件(例如*.txt)吗?

zhi*_*an_ 5 ibm-mq

我是WebSphere MQ的新手,我正在尝试使用c#代码将文件作为消息移动到WebSphere MQ.WebSphere MQ可以直接传输文件(例如*.txt)吗?

提前致谢.

T.R*_*Rob 3

不,基本 WebSphere MQ 不直接传输文件。移动文件的语义包括文件名、目录路径、不同类型文件系统之间的名称转换(即UNIX 文件树与z/OS 分区数据集)。消息传递使用特定于队列和主题的语义,这些语义与文件的语义截然不同。

因此,基础 WMQ 不会尝试将执行文件语义作为其核心功能的一部分。WebSphere MQ File Transfer EditionIBM Sterling Connect:Direct提供了该功能。对于 FTE,托管文件传输本身构建在 WebSphere MQ 之上。

许多人过去都编写过使用消息传递来移动文件的解决方案,无论是 WebSphere MQ 还是其他传输提供商。事实证明,以稳健的方式做到这一点并非易事。以下是一些问题:

  • 如果将每个文件设为一条消息,则消息大小会有很大差异。调整消息传递引擎以同时处理非常大和非常小的消息是非常困难的。
  • 如果将文件分成块,那么您可以调整块大小以获得最佳消息传递性能,但现在您必须处理序列保留和重新发送丢失的消息。
  • 是否附加、替换或重命名同名目标文件的一般问题。
  • 如何以事务方式使文件在目的地可用的一般问题。您不希望收件人只获取一半文件。
  • 文件完整性(FTE 对文件进行哈希处理以确保其在传输过程中不会发生更改)。

这些是以通用方式执行此操作的问题示例。但是,如果您需要的只是一次性的点对点解决方案,那么请查看SupportPac MA01(Q 程序)。它将获取文件并一次将一行放入消息中或将整个文件作为单个消息。它也可以用作管道,因此可以有两个 Q 实例,其中一个将消息通过管道传送到队列,另一个则检索它们。