package example; import java.io.PrintWriter; import java.io.IOException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.GenericServlet; import javax.servlet.ServletException; /** * A client listener servlet to show the MBean listener pattern. * * The ListenerServlet follows the Dependency Injection pattern, * letting Resin's web.xml configure the emitter and listener. */ public class ListenerServlet extends GenericServlet { private EmitterMBean _emitter; private ListenerMBean _listener; /** * The web.xml will configure the emitter. */ public void setEmitter(EmitterMBean emitter) { _emitter = emitter; } /** * The web.xml will configure the listener. */ public void setListener(ListenerMBean listener) { _listener = listener; } public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); _emitter.send(); out.println("listener count: " + _listener.getNotificationCount()); } }