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

时间:2012-04-12 09:24:49

标签: ibm-mq

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

先谢谢。

2 个答案:

答案 0 :(得分:4)

WebSphere MQ文件传输版(FTE)是构建在WebSphere MQ之上用于传输文件的产品。传输文件不需要编码。有一些命令和MQ Explorer可用于配置文件传输。您还可以通过脚本启动文件传输。

通读此developerWorks article

答案 1 :(得分:3)

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

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

许多人在过去编写过使用消息传递文件的解决方案,无论是WebSphere MQ还是其他传输提供程序。事实证明,以健壮的方式这样做是一项非常重要的任务。以下是一些问题:

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

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