/** * Called exactly once when the {@code close()} method is invoked; the actual close operation should take place here. * This method <b>must</b> call {@link #closeComplete()}, directly or indirectly, for the close operation to finish * (it may happen in another thread but it must happen). * * This method should not expect the {@link #closeComplete()} call to be made from another thread from the same thread pool * that may cause {@link #close()}. As close will block, this can result in situations where all threads in the pool are * blocked on {@link #close()} method calls, which means the {@link #closeComplete()} will never be run. * * @throws RemotingException if the close failed */ protected void closeAction() throws IOException { closeComplete(); }
protected void closeComplete() { try { super.closeComplete(); } finally { if (server != null && objectName != null) { try { server.unregisterMBean(objectName); } catch (Throwable ignored) { } } } }
/** * Make this method visible. */ protected void closeComplete() { super.closeComplete(); remoteConnection.getRemoteConnectionProvider().removeConnectionHandler(this); }
/** * Called exactly once when the {@code close()} method is invoked; the actual close operation should take place here. * This method <b>must</b> call {@link #closeComplete()}, directly or indirectly, for the close operation to finish * (it may happen in another thread but it must happen). * * This method should not expect the {@link #closeComplete()} call to be made from another thread from the same thread pool * that may cause {@link #close()}. As close will block, this can result in situations where all threads in the pool are * blocked on {@link #close()} method calls, which means the {@link #closeComplete()} will never be run. * * @throws RemotingException if the close failed */ protected void closeAction() throws IOException { closeComplete(); }
/** * Called exactly once when the {@code close()} method is invoked; the actual close operation should take place here. * This method <b>must</b> call {@link #closeComplete()}, directly or indirectly, for the close operation to finish * (it may happen in another thread but it must happen). * * This method should not expect the {@link #closeComplete()} call to be made from another thread from the same thread pool * that may cause {@link #close()}. As close will block, this can result in situations where all threads in the pool are * blocked on {@link #close()} method calls, which means the {@link #closeComplete()} will never be run. * * @throws RemotingException if the close failed */ protected void closeAction() throws IOException { closeComplete(); }
protected void closeComplete() { try { super.closeComplete(); } finally { if (server != null && objectName != null) { try { server.unregisterMBean(objectName); } catch (Throwable ignored) { } } } }
/** * Make this method visible. */ protected void closeComplete() { super.closeComplete(); remoteConnection.getRemoteConnectionProvider().removeConnectionHandler(this); }
/** * Make this method visible. */ protected void closeComplete() { super.closeComplete(); remoteConnection.getRemoteConnectionProvider().removeConnectionHandler(this); }