/**
* Put the given message entry into the queue
*/
public final void queueMessage(MsgQueueEntry entry) throws XmlBlasterException {
I_Queue sessionQueue = this.sessionQueue;
if (!hasCallback() || sessionQueue == null) {
if (log.isLoggable(Level.FINE)) log.fine(ME+": Queing PtP message without having configured a callback to the client, the client needs to reconnect with a valid callback address later");
//if (!connectQos.getSessionName().isPubSessionIdUser()) { // client has specified its own publicSessionId (> 0)
// throw new XmlBlasterException(glob, ErrorCode.USER_CONFIGURATION, ME, "No callback server is configured, can't callback client to send message " + entry.getKeyOid());
//}
}
if (getPublicSessionId() < 0 && entry.isPersistent()) {
entry.setPersistent(false);
if (!this.transientWarn) {
log.warning(ME+": Handling persistent messages in callback queue as transient as we have a login session with a negative public session id (we can't reconnect to same queue after restart)");
this.transientWarn = true;
}
}
sessionQueue.put(entry, I_Queue.USE_PUT_INTERCEPTOR);
I_Checkpoint cp = glob.getCheckpointPlugin();
if (cp != null) {
cp.passingBy(I_Checkpoint.CP_UPDATE_QUEUE_ADD, entry.getMsgUnit(),
this.getSessionName(), null);