I는 다음과 같습니다위한 그래서 내가 한 일을 MQJavaClient를 통해 메시지 ID로 사용자 정의 문자열을 설정하려고 통해 메시지 ID를 설정하는 방법 :MQJavaClient
문자열 내가 메시지 ID에 배치 할
example :92f5fd96300e8dce
은 진수 번호를 가져옵니다 온라인 [codebeautify.org] 자바 클라이언트 코드 A의
example:39326635666439363330306538646365
시도가의 MessageID를 인쇄 할 때
String str = "39326635666439363330306538646365"; sendmsg.messageId = str.getBytes();
아래의, 그것은
sendmsg.messageId : [[email protected]
여전히 필요의 MessageID는 MQ 메시지로 채워되지 않은 다른 결과를주고있다.
MQ 메시지에 대한 사용자 지정 메시지 ID를 설정하는 데 도움을주십시오.
로저/조쉬 2017년 12월 26일
당신은/메시지 속성 또는 상관 관계 ID 필드를 다음 당신의 자신의 메시지 ID 또는 거래 ID를 저장 사용할 필요가 있다면이
에 도움이 필요하십니까 MQMD의 - 단지 MQMD의 메시지 ID를 사용하지 마십시오.
우리 응용 프로그램에서는 msgid/txnid와 상관 ID를 모두 사용합니다. msgstr/txnid는 각 트랜잭션마다 다릅니다 (응답 요청시 동일해야 함).
상관 ID는 모든 트랜잭션에서 동일합니다.
지금 어떤 시도가 있습니까?
1. 시스템 A 및 시스템 B는 MQ를 통해 통신합니다.
2. 이제 갑자기 시스템 B가 응답으로 다른 형식으로 응답하고 시스템 A는 작동을 수행 할 수 없습니다.
3. 이제 Java 클라이언트를 통해 시스템 B 응답을 시뮬레이트하는 것이 내 업무입니다.
4. 우리 응용 프로그램에서 우리는 msgid와 correl id를 모두 사용했습니다.
5. 시스템 ID는 Id와 해당 ID를 완벽하게 읽었습니다.
6.이 msgid는 java 클라이언트를 통해 채워지지 않고 다음과 같이 표시됩니다. msgid는 로그에서 null입니다.
바이트 배열을 문자열로 인쇄하고 원본 문자열을 다시 얻으려면 다음과 같이 문자열로 다시 변환하십시오. new String (sendmsg.messageId); 그리고 왜 16 진수로 인코딩 된 부분이 필요합니까? 그리고 Roger와 동의하는 방식으로, 메시지 ID는 (메타) 데이터를 전송하는 것이 아닙니다. –