View Javadoc

1   package org.srinivas.siteworks.rlrestserver.webconfig;
2   
3   import javax.servlet.ServletContextEvent;
4   import javax.servlet.ServletContextListener;
5   
6   import org.apache.camel.CamelContext;
7   import org.apache.camel.impl.DefaultCamelContext;
8   import org.slf4j.Logger;
9   import org.slf4j.LoggerFactory;
10  import org.srinivas.siteworks.rlrestserver.RLRestServerRoute;
11  
12  public final class RLRestServerCamelListener implements ServletContextListener {
13  	private static final Logger log = LoggerFactory.getLogger(RLRestServerCamelListener.class);
14  	private static final CamelContext context = new DefaultCamelContext();
15  
16  	/**
17  	 * Gets the context.
18  	 *
19  	 * @return the context
20  	 */
21  	public static CamelContext getContext() {
22  		return context;
23  	}
24  
25  	/* (non-Javadoc)
26  	 * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent)
27  	 */
28  	@Override
29  	public void contextDestroyed(ServletContextEvent arg0) {
30  
31  		log.info("Camel Context stopped at RLRestserver");
32  		try {
33  			context.stop();
34  		} catch (Exception e) {
35  			log.info("Exception at RLRestServerCamelListener", e);
36  		}
37  	}
38  
39  	/* (non-Javadoc)
40  	 * @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)
41  	 */
42  	@Override
43  	public void contextInitialized(ServletContextEvent arg0) {
44  		log.info("Camel Context started at RLRestserver");
45  
46  		try {
47  			context.addRoutes(new RLRestServerRoute());
48  		} catch (Exception e) {
49  			log.info("Exception at RLRestServerCamelListener", e);
50  		}
51  
52  		try {
53  			context.start();
54  		} catch (Exception e) {
55  			log.info("Exception at RLRestServerCamelListener", e);
56  		}
57  
58  	}
59  
60  }