private Member[] getAliveMembers(Member[] members) { List<Member> aliveMembers = new ArrayList<>(); for (Member member : members) { try (Socket socket = new Socket()) { InetAddress ia = InetAddress.getByAddress(member.getHost()); InetSocketAddress addr = new InetSocketAddress(ia, member.getPort()); socket.connect(addr, connectTimeout); aliveMembers.add(member); } catch (Throwable t) { ExceptionUtils.handleThrowable(t); // Otherwise ignore } } return aliveMembers.toArray(new Member[0]); }
private void closeSelector() throws IOException { Selector selector = this.selector.getAndSet(null); if (selector == null) return; try { // look at each key in the selected set for (SelectionKey key : selector.keys()) { key.channel().close(); key.attach(null); key.cancel(); } } catch (IOException ignore){ if (log.isWarnEnabled()) { log.warn(sm.getString("nioReceiver.cleanup.fail"), ignore); } } catch (ClosedSelectorException ignore){ // Ignore } try { selector.selectNow(); } catch (Throwable t){ ExceptionUtils.handleThrowable(t); // Ignore everything else } selector.close(); }
log.warn(sm.getString("nioReceiver.clientDisconnect")); } catch (Throwable t) { ExceptionUtils.handleThrowable(t); log.error(sm.getString("nioReceiver.requestError"), t);
stopMembership(this.getMembers()); } catch (Throwable t) { ExceptionUtils.handleThrowable(t);