PublishMessageQueue<SCMPMessage> publishMessageQueue = casService.getMessageQueue();
// unsubscribe subscription
publishMessageQueue.unsubscribe(subscription.getId());
publishMessageQueue.removeNonreferencedNodes();
CascadedClient cascClient = casService.getCascClient();
// remove timed out subscription id from client subscription list
cascClient.removeClientSubscriptionId(subscription.getId());
if (cascClient.isDestroyed() == true) {
// cascaded client got destroyed - do not continue
return;
}
long msgSeqNr = cascClient.getMsgSequenceNr().incrementAndGetMsgSequenceNr();
IRequest request = new NettyHttpRequest(null, null, null);
SCMPMessage abortMessage = new SCMPMessage();
abortMessage.setHeader(SCMPHeaderAttributeKey.MESSAGE_SEQUENCE_NR, msgSeqNr);
abortMessage.setHeader(SCMPHeaderAttributeKey.SERVICE_NAME, casService.getName());
// cascaded id will be set in following (cascadedSCAbortSubscription) method