try {
// Send an ACK back ...
PublishKey pk = new PublishKey(receiver.getGlobal(), "HelloWorld5:ACK", "text/plain", "1.0");
PublishQos pq = new PublishQos(receiver.getGlobal());
pq.addDestination(new Destination(updateQos.getSender()));
MsgUnit msgUnit = new MsgUnit(pk, "ACK", pq);
boolean oneway = false; // just for demo, you can try a variant with never blocking oneway
if (oneway) {
MsgUnit[] arr = new MsgUnit[1];
arr[0] = msgUnit;
receiver.publishOneway(arr);
log.info("Published message '" + pk.getOid() + "' to " + updateQos.getSender());
}
else {
PublishReturnQos retQos = receiver.publish(msgUnit);
log.info("Published message '" + retQos.getKeyOid() + "' to " + updateQos.getSender());
}
}
catch (XmlBlasterException e) {
log.severe("Sending ACK to " + updateQos.getSender() + " failed: " + e.getMessage());
}
return "";
}
}); // Login to xmlBlaster, default handler for updates
log.info("Receiver connected to xmlBlaster " + conRetQos.getSessionName().getRelativeName());
}
// Send a message to 'receiver'
PublishKey pk = new PublishKey(sender.getGlobal(), "HelloWorld5", "text/plain", "1.0");
PublishQos pq = new PublishQos(sender.getGlobal());
pq.addDestination(new Destination(new SessionName(sender.getGlobal(), receiverName)));
MsgUnit msgUnit = new MsgUnit(pk, "Hi", pq);
PublishReturnQos retQos = sender.publish(msgUnit);
log.info("Published message '" + retQos.getKeyOid() + "' to " + receiverName + ":\n" + msgUnit.toXml());
}
catch (XmlBlasterException e) {
log.severe("Houston, we have a problem: " + e.getMessage());
}
finally {