Ich sende Nachrichten an eine ferne Warteschlange, auf die ich keine Kontrolle habe.IBM MQ Nachrichtenkopf
ich eine XML-Datei als Nachricht senden, aber wenn die Anwendung die Nachricht liest bekommt er eine Nachricht Header wie
<mcd><Msd>jms_text</Msd></mcd> \0\0\0l<jms><Dst>queue:///TEST</Dst><Tms>1281475843707</Tms><Cid></Cid><Dlv>1</Dlv></jms>
ich will nicht dieser Message-Header für das Senden dieser Nachricht vorhanden und meinen Code sein wie folgt:
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();
Wie vermeide ich das?
hey danke, versuchen Sie es und lassen Sie –
wissen hey danke Kumpel, es funktioniert, ich habe es einfach versucht. Jetzt muss ich verstehen, was es bedeutet –
Nun, da Sie einen Workaround im Code getan haben, anstatt das verwaltete Objekt einzustellen, bedeutet dies, dass alle anderen Apps oder Module, die JMS-Nachrichten an dieses Ziel senden, das gleiche Problem haben. Legen Sie sie in den verwalteten Objekten fest (.bindings-Datei, LDAP oder was auch immer) und sie wird ohne Code und in allen Apps, die dieses verwaltete Objekt verwenden, korrigiert. –