private void guardedConnect() { if (getUsageCounter() == 1) { try { connect(); } catch(RuntimeException ex) { reportExceptionToAllReadersAndWriters(ex); } } }
private void guardedDisconnect() { if (getUsageCounter() == 0) { try { disconnect(); if (!saveMessageAfterDisconnect()) { lastMessage = null; } connectionPayload = null; } catch (RuntimeException ex) { reportExceptionToAllReadersAndWriters(ex); log.log(Level.WARNING, "Couldn't disconnect channel " + getChannelName(), ex); } } }