J'essaie de définir le type RFH2Header sur une chaîne de message. Mais ce n'est pas annexé au message. S'il vous plaît aider. Merci d'avance!!!! Est-ce que mon approche est correcte? Si je vérifie dans la file d'attente de réponse, la propriété de RFH est ajoutée au message d'octets.Comment définir l'en-tête d'une chaîne dans Java à l'aide de JMS
String message1 = "MQ Message header test";
Message message11 = session.createTextMessage(message1);
MQRFH2 header = new MQRFH2();
ByteArrayOutputStream out = new ByteArrayOutputStream();
DataOutput dout = new DataOutputStream(out);
header.write(dout);
byte[] outheaders = out.toByteArray();
byte[] bArray = message1.getBytes("UTF-8");
BytesMessage responseMessage = session.createBytesMessage(); // throws JMSException
responseMessage.writeBytes(outheaders);
responseMessage.writeBytes(bArray);
responseMessage.setJMSType("MQRFH2");
responseMessage.setJMSCorrelationID("12345678900000");
responseMessage.setJMSDeliveryMode(2);
responseMessage.setJMSPriority(4);
responseMessage.setJMSReplyTo(queue);
responseMessage.setStringProperty("JMS_IBM_Format", "MQRFH2");
responseMessage.setIntProperty("JMS_IBM_Encoding", MQConstants.MQENC_NATIVE);
responseMessage.setIntProperty("JMS_IBM_Character_Set", 1208);
responseMessage.setIntProperty("JMS_IBM_PutApplType", 11);
producer.send(responseMessage);
Ma sortie ressemble ci-dessous dans la file d'attente de réponse .., S'il vous plaît aider, comment mettre en-tête d'une chaîne
00000 4D 51 20 4D 65 73 73 61--67 65 20 68 65 61 64 65 |MQ Message heade|
00010 72 20 74 65 73 74 52 46--48 20 00 00 00 02 00 00 |r testRFH ......|
00020 00 24 00 00 00 00 00 00--00 00 20 20 20 20 20 20 |.$........ |
00030 20 20 00 00 00 00 00 00--04 B8 | .......� |
La question n'est pas très claire. Voulez-vous ajouter le type de données RFH2 en tant que corps à un message JMS? ou définir le type de données RFH2 en tant qu'en-tête de message JMS? – Shashi