001/**
002 * 
003 */
004package bradleyross.j2ee.listeners;
005import org.apache.log4j.Logger;
006import javax.servlet.ServletContextEvent;
007import javax.servlet.ServletContextListener;
008import javax.servlet.ServletContext;
009import javax.servlet.annotation.WebListener;
010
011/**
012 * Demonstration listener.  
013 * 
014 * <p>When the listener is linked to a context, it places a message on the log
015 *    when the context is started and when it is stopped.</p>
016 * 
017 * @author Bradley Ross
018 * 
019 * 
020 * @see ServletContextEvent
021 * @see ServletContext
022 * @see WebListener
023 *
024 */
025@WebListener
026public class SampleListener implements ServletContextListener {
027        protected Logger logger = null;
028        /* (non-Javadoc)
029         * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent)
030         */
031        /**
032         * Method to be executed when context is destroyed.
033         * 
034         * <p>In this sample, it places a message in the log4j log file.</p>
035         * @param arg0 event object describing destruction of context
036         */
037        @Override
038        public void contextDestroyed(ServletContextEvent arg0) {
039                logger = Logger.getLogger(this.getClass());     
040                ServletContext context = arg0.getServletContext();
041                String path = context.getContextPath();
042                logger.info("Destroying context at " + path);
043        }
044        /* (non-Javadoc)
045         * @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)
046         */
047        /**
048         * Method to be executed when context is initialized.
049         * 
050         * <p>This method places a message in the log4j log file.</p>
051         * 
052         * @param arg0 context event describing initialization of context
053         */
054        @Override
055        public void contextInitialized(ServletContextEvent arg0) {
056                logger = Logger.getLogger(this.getClass());     
057                ServletContext context = arg0.getServletContext();
058                String path = context.getContextPath();
059                logger.info("Starting context at " + path);
060        }
061}