5

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

提前致谢。

4

2 回答 2

4

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

通读这篇 developerWorks文章

于 2012-04-12T09:57:41.163 回答
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 实例,其中一个将消息传递到队列,另一个检索它们。

于 2012-04-13T13:34:00.937 回答