Listener for messages received on a channel. A channel can be created with a {@code ChannelListener} which is notified whenany client session sends a message on that channel.
An implementation of a {@code ChannelListener} should implementthe {@link Serializable} interface, so that channel listenerscan be stored persistently. If a given listener has mutable state, that listener should also implement the {@link ManagedObject}interface.
The methods of this listener are called within the context of a {@link Task} being executed by the {@link TaskManager}. If, during such an execution, a task invokes one of this listener's methods and that method throws an exception, that exception implements {@link ExceptionRetryStatus}, and its {@link ExceptionRetryStatus#shouldRetry shouldRetry} method returns{@code true}, then the {@code TaskManager} will makefurther attempts to retry the task that invoked the listener's method. It will continue those attempts until either an attempt succeeds or it notices an exception is thrown that is not retryable.
For a full description of task execution behavior, see the documentation for {@link TaskManager#scheduleTask(Task)}.