Package com.rabbitmq.client
Interface ShutdownNotifier
- All Known Subinterfaces:
Channel
,Connection
,RecoverableChannel
,RecoverableConnection
- All Known Implementing Classes:
AMQChannel
,AMQConnection
,AutorecoveringChannel
,AutorecoveringConnection
,ChannelN
,RecoveryAwareAMQConnection
,RecoveryAwareChannelN
,ShutdownNotifierComponent
public interface ShutdownNotifier
Interface for components that are shutdown capable and
that allow listeners to be added for shutdown signals
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addShutdownListener
(ShutdownListener listener) Add shutdown listener.Get the shutdown reason objectboolean
isOpen()
Determine whether the component is currently open.void
Protected API - notify the listeners attached to the componentvoid
removeShutdownListener
(ShutdownListener listener) Remove shutdown listener for the component.
-
Method Details
-
addShutdownListener
Add shutdown listener. If the component is already closed, handler is fired immediately- Parameters:
listener
-ShutdownListener
to the component
-
removeShutdownListener
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:
-
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
-