2017-01-05 1 views
0

JAVA 어플리케이션이 메인 프레임과 통신하기를 원합니다. 메인 프레임에서 텍스트 파일의 데이터를 MQ로 보내고 MQ에서 읽을 수 있도록하고 싶습니다.메인 프레임에서 IBM MQ로 텍스트 파일 보내기

현재 메인 프레임 개발자는 모든 것을 한 줄로 보낼 수 있습니다. 그는 메시지를 큰 메시지처럼 보내고 텍스트 파일로 콘텐츠를 보내고 싶습니다. 그게 가능합니까? Mainframe은 파일 전송을 MQ로 지원합니까?

+0

제 생각에는 파일을 대기열로 보낼 수 없습니다. 대기열의 각 레코드는 카피 북 레이아웃에 해당합니다. 따라서 데이터 블록은 카피 북으로 표시된 작은 조각들로 나누어집니다. 당신이 할 수있는 것은 JAVA 프로그램에서 메인 프레임 프로그램이 작성한 카피 북 레이아웃을 사용하여 입력을 맵핑하도록하는 것입니다. 이 Stackover 게시물은 Jrecord를 사용하도록 권장합니다. http://stackoverflow.com/questions/802122/reading-cobol-datastructures-from-java – SaggingRufus

+0

대기열에있는 파일 개념은 없지만 대기열에있는 내용을 단일 대기열로 넣을 수 있습니다 메시지. 메인 프레임 개발자는이를 수행하는 방법을 알고 있습니다. 자바에서도 그렇게 할 수 있습니다. – duffymo

+1

이것은 메인 프레임이 지원하는 것의 문제가 아니며 MQ가 지원하는 것의 문제입니다. duffymo가 나타내는 것처럼 MQ에는 파일 개념이없고 메시지 만 있습니다. – cschneid

답변

2

이 더 큰 문제가 없다 - 나는 20 년 동안이 일을했습니다가.

분명히 MQ 및 z/OS (메인 프레임)에 대한 지식이 제한되어 있습니다. 파일은 PC 또는 Unix/Linux 또는 메인 프레임에 상관없이 파일입니다.

다른 사람들이 지적했듯이 MQ는 메시지가 아닌 파일을 처리하지만 메시지를 파일로 저장할 수 있습니다. MQ는 메시지 데이터 (일명 페이로드)를 blob로 처리합니다. 메시지 데이터는 XML 파일 또는 PNG 또는 PDF 또는 간단한 텍스트 등이 될 수 있습니다.

주어진 플랫폼의 파일의 차이점은 라인 (일명 레코드)의 종료입니다. PC에서는 CRLF이고 유닉스/리눅스에서는 LF이고 Mac OS X는 CR입니다. 메인 프레임에는 그러한 개념이 없습니다. 메인 프레임에는 고정 된 레코드 길이 또는 가변 길이 레코드 파일 (일명 데이터 집합)이 있습니다.

메인 프레임 프로그램이 고정 된 레코드 길이 파일을로드하는 경우 수명은 매우 간단합니다. 메인 프레임 개발자에게 레코드 길이 (예 : 80)를 물어보고 메시지 데이터를 청크로 파싱하면됩니다. 가변 길이 레코드 인 경우 각 레코드 다음에 CR (x'0D ')을 삽입하도록 메인 프레임 개발자에게 요청한 다음 응용 프로그램이 메시지를 수신하면 행의 종료 위치를 알 수 있습니다.

2

MQ 7.5부터 MQ에는 Mainframe에서 다른 플랫폼으로 파일을 전송하고 다시 전송할 수있는 'Managed File Transfer'(MFT) 기능이 포함되어 있습니다.

기본적으로 파일을 보내고 받으려는 각 호스트에 관리되는 파일 전송 에이전트를 만듭니다.

피사체에 더 읽고 싶다면 여기 지식 센터에서 MFT 좋은 소개있다 : http://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.wmqfte.doc/wmqfte_intro.htm

관련 문제