package example; import java.util.ArrayList; import java.util.LinkedList; import javax.inject.Named; import javax.inject.Singleton; import javax.enterprise.inject.Default; /** * Custom singleton bean to store messages */ @Named @Default @Singleton public class MessageStore { private LinkedList<String> _messageLog = new LinkedList<String>(); public void addMessage(String message) { synchronized (_messageLog) { if (_messageLog.size() > 10) _messageLog.remove(0); _messageLog.add(message); } } public ArrayList<String> getMessages() { synchronized (_messageLog) { return new ArrayList<String>(_messageLog); } } }