package org.jgroups; import org.jgroups.util.MessageBatch; /** * MessageListener allows a listener to be notified when a {@link Message} or a state transfer * events arrives to a node. * <p> * MessageListener is often used by JGroups building blocks installed on top of a channel i.e * RpcDispatcher and MessageDispatcher. * * * @see org.jgroups.blocks.RpcDispatcher * @see org.jgroups.blocks.MessageDispatcher * * @since 2.0 * @author Bela Ban * @author Vladimir Blagojevic */ public interface MessageListener extends StateListener { /** * Called when a message is received. * @param msg */ void receive(Message msg); /** Called when a batch of messages is received */ default void receive(MessageBatch batch) { for(Message msg: batch) { try {receive(msg);} catch(Throwable t) {} } } }