CbQueueProperty cbQueueProperty = newConnectQos.getSessionCbQueueProperty();
I_Queue sessionQueue = this.sessionQueue;
if (sessionQueue != null) sessionQueue.setProperties(cbQueueProperty);
if (wantsCallbacks && hasCallback()) {
DispatchManager dispatchManager = this.dispatchManager;
if (dispatchManager != null) {
dispatchManager.updateProperty(cbQueueProperty.getCallbackAddresses());
log.info(ME+": Successfully reconfigured callback address with new settings, other reconfigurations are not yet implemented");
dispatchManager.notifyAboutNewEntry();
}
}
else if (wantsCallbacks && !hasCallback()) {
log.info(ME+": Successfully reconfigured and created dispatch manager with given callback address");
DispatchManager tmpDispatchManager = new DispatchManager(glob, this.msgErrorHandler,
this.securityCtx, this.sessionQueue, (I_ConnectionStatusListener)null,
newConnectQos.getSessionCbQueueProperty().getCallbackAddresses(), this.sessionName);
DispatchManager dispatchManager = this.dispatchManager;
if (dispatchManager != null)
tmpDispatchManager.setDispatcherActive(dispatchManager.isDispatcherActive());
this.dispatchManager = tmpDispatchManager;
}
else if (!wantsCallbacks && hasCallback()) {
DispatchManager dispatchManager = this.dispatchManager;
if (dispatchManager != null) {
dispatchManager.shutdown();
log.info(ME+": Successfully shutdown dispatch manager as no callback address is configured");
}
this.dispatchManager = null;
}
else if (!wantsCallbacks && !hasCallback()) {