com.rabbitmq.client
Interface ShutdownNotifier

All Known Subinterfaces:
Channel, Connection
All Known Implementing Classes:
AMQChannel, AMQConnection, ChannelN, ShutdownNotifierComponent

public interface ShutdownNotifier

Interface for components that are shutdown capable and that allow listeners to be added for shutdown signals

See Also:
ShutdownListener, ShutdownSignalException

Method Summary
 void addShutdownListener(ShutdownListener listener)
          Add shutdown listener.
 ShutdownSignalException getCloseReason()
          Get the shutdown reason object
 boolean isOpen()
          Determine whether the component is currently open.
 void notifyListeners()
          Protected API - notify the listeners attached to the component
 void removeShutdownListener(ShutdownListener listener)
          Remove shutdown listener for the component.
 

Method Detail

addShutdownListener

void addShutdownListener(ShutdownListener listener)
Add shutdown listener. If the component is already closed, handler is fired immediately

Parameters:
listener - ShutdownListener to the component

removeShutdownListener

void removeShutdownListener(ShutdownListener listener)
Remove shutdown listener for the component.

Parameters:
listener - ShutdownListener to be removed

getCloseReason

ShutdownSignalException getCloseReason()
Get the shutdown reason object

Returns:
ShutdownSignalException if component is closed, null otherwise

notifyListeners

void notifyListeners()
Protected API - notify the listeners attached to the component

See Also:
ShutdownListener

isOpen

boolean isOpen()
Determine whether the component is currently open. Will return false if we are currently closing. Checking this method should be only for information, because of the race conditions - state can change after the call. Instead just execute and try to catch ShutdownSignalException and IOException

Returns:
true when component is open, false otherwise