/** * Close Selector. * * @see org.apache.catalina.tribes.transport.ClusterReceiverBase#stopListening() */ protected void stopListening() { setListen(false); if (selector != null) { try { selector.wakeup(); selector.close(); } catch (Exception x) { log.error("Unable to close cluster receiver selector.", x); } finally { selector = null; } } }
/** * Close Selector. * * @see org.apache.catalina.tribes.transport.ReceiverBase#stop() */ protected void stopListening() { setListen(false); Selector selector = this.selector.get(); if (selector != null) { try { selector.wakeup(); closeSelector(); } catch (Exception x) { log.error("Unable to close cluster receiver selector.", x); } finally { this.selector.set(null); } } }
/** * Close Selector. * * @see org.apache.catalina.tribes.transport.ReceiverBase#stop() */ protected void stopListening() { setListen(false); Selector selector = this.selector.get(); if (selector != null) { try { // Unlock the thread if is is blocked waiting for input selector.wakeup(); // Wait for the receiver thread to finish int count = 0; while (running && count < 50) { Thread.sleep(100); count ++; } if (running) { log.warn(sm.getString("NioReceiver.stop.threadRunning")); } closeSelector(); } catch (Exception x) { log.error(sm.getString("NioReceiver.stop.fail"), x); } finally { this.selector.set(null); } } }
/** * Close Selector. * * @see org.apache.catalina.tribes.transport.ReceiverBase#stop() */ protected void stopListening() { setListen(false); Selector selector = this.selector.get(); if (selector != null) { try { // Unlock the thread if is is blocked waiting for input selector.wakeup(); // Wait for the receiver thread to finish int count = 0; while (running && count < 50) { Thread.sleep(100); count ++; } if (running) { log.warn(sm.getString("nioReceiver.stop.threadRunning")); } closeSelector(); } catch (Exception x) { log.error(sm.getString("nioReceiver.stop.fail"), x); } finally { this.selector.set(null); } } }
setListen(true);