MQGetMessageOptions gmo = new MQGetMessageOptions();
gmo.options = CMQC.MQGMO_PROPERTIES_FORCE_MQRFH2 + CMQC.MQGMO_FAIL_IF_QUIESCING + CMQC.MQGMO_NO_WAIT;
MQMessage receiveMsg = new MQMessage();
queue.get(receiveMsg, gmo);
if (CMQC.MQFMT_RF_HEADER_2.equals(receiveMsg.format)){
receiveMsg.seek(0);
byte[] b = new byte[receiveMsg.getMessageLength()];
DataInputStream inputStream = new DataInputStream(new ByteArrayInputStream(b));
MQRFH2 rfh2 = new MQRFH2(inputStream );
int strucLen = rfh2.getStrucLength();
int encoding = rfh2.getEncoding();
int CCSID = rfh2.getCodedCharSetId();
String format= rfh2.getFormat();
int flags = rfh2.getFlags();
int nameValueCCSID = rfh2.getNameValueCCSID();
String[] folderStrings = rfh2.getFolderStrings();
for (String folder : folderStrings)
System.out.println("Folder: "+folder);
b = new byte[inputStream.available()];
inputStream.read(b);
System.out.println("Data: "+new String(b));
}else if (CMQC.MQFMT_STRING.equals(receiveMsg.format)){
String msgStr = receiveMsg.readStringOfByteLength(receiveMsg.getMessageLength());
System.out.println("Data: "+msgStr);
}else{
byte[] b = new byte[receiveMsg.getMessageLength()];
receiveMsg.readFully(b);
System.out.println("Data: "+new String(b));
}