将文本文件从Mainframe发送到IBM MQ

时间:2017-01-05 18:05:04

标签: java ibm-mq mainframe

我希望我的JAVA应用程序与大型机通信。我希望大型机将文本文件中的数据发送到MQ,并且我可以从MQ中读取它。

目前,我们的大型机开发人员能够将所有内容发送到一行。他发送它就像一条重要信息,我希望将内容发送到文本文件中。 那可能吗?大型机是否支持将文件发送到MQ?

2 个答案:

答案 0 :(得分:2)

从MQ 7.5开始,MQ包含“托管文件传输”(MFT)功能,该功能允许将文件从大型机传输到其他平台,然后再返回。

基本上,您在要发送/接收文件的每台主机上创建托管文件传输代理。

如果您希望进一步阅读有关该主题的内容,请在知识中心对MFT进行了很好的介绍:http://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.wmqfte.doc/wmqfte_intro.htm

答案 1 :(得分:2)

这没什么大不了的 - 我已经做了20年了。

显然,您对MQ和z / OS(大型机)的了解有限。文件是文件是文件,无论是在PC,Unix / Linux还是大型机上。

正如其他人所指出的,MQ处理消息而不是文件,但您可以将文件作为消息。 MQ将消息数据(也称为有效负载)视为blob。消息数据可以是XML文件或PNG或PDF或简单文本等。

给定平台上的文件之间的差异是行的终止(也称为记录)。在PC上它是CRLF,在Unix / Linux上它是LF和Mac OS X它是CR。大型机没有这个概念。在大型机上,您有固定的记录长度或可变记录长度文件(也称为数据集)。

如果大型机程序正在加载一个固定的记录长度文件,那么生活非常简单。只需向大型机开发人员询问记录长度是多少(即80),然后以块的形式解析消息数据。如果它是可变长度记录,则要求大型机开发人员在每个记录之后插入CR(x' 0D'),然后当您的应用程序收到它时,您将知道一行的终止位置。