@Override protected void ensureNodeServant() { if (servantUri != null) { return; } String node = getNameSupport().getNodeMessageAddress().getAddress(); if (!establishConnections(node)) { releaseNodeServant(); return; } try { servantUri = makeURI(node); setNodeURI(servantUri); } catch (URISyntaxException e) { loggingService.error("Failed to make URI for node " + node, e); releaseNodeServant(); return; } // start polling for input if (receiver == null) { receiver = makeMessageReceiver(); } Runnable task = makePollerTask(); if (task != null) { int lane = ThreadService.WILL_BLOCK_LANE; poller = threadService.getThread(this, task, "Message Poller", lane); poller.schedule(0, 1); } }
@Override protected void releaseNodeServant() { servantUri = null; setNodeURI(null); if (poller != null) { poller.cancelTimer(); poller = null; } }