Я отправляю сообщения в удаленную очередь, к которой у меня нет контроля.IBM Mq Message Header
отправить файл XML как сообщение, но когда приложение считывает сообщение он получает заголовок сообщения, как
<mcd><Msd>jms_text</Msd></mcd> \0\0\0l<jms><Dst>queue:///TEST</Dst><Tms>1281475843707</Tms><Cid></Cid><Dlv>1</Dlv></jms>
я не хочу этот заголовок сообщения присутствовать и мой код для отправки этого сообщения следующим образом:
Properties props = new Properties();
props.setProperty("java.naming.factory.initial",this.initialFactory);
props.setProperty("java.naming.provider.url", url);
Context context = new InitialContext(props);
QueueConnectionFactory qcf = (QueueConnectionFactory) context.lookup(this.context);
qConn = qcf.createQueueConnection();
queue = (Queue)context.lookup(name);
qSession = qConn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
qConn.start();
QueueSender send = qSession.createSender(queue);
String text = "My xml file";
TextMessage tm = qSession.createTextMessage(text);
send.send(tm);
send.close();
Как этого избежать?
эй спасибо, будем стараться его, и пусть вы знаете –
эй спасибо чувак, он работает, я просто попробовал исправить. теперь я должен понять, что это значит –
Ну, так как вы сделали обходной путь кода, а не устанавливали управляемый объект, это означает, что любые другие приложения или модули, отправляющие JMS-сообщения этому месту назначения, также будут иметь такую же проблему. Установите его в управляемых объектах (файл .bindings, LDAP или что-то еще), и он исправлен без кода и во всех приложениях, используя этот управляемый объект. –