View Javadoc

1   package org.srinivas.siteworks.dbrestserver.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.dbrestserver.DbServerRoute;
11  
12  
13  public final class DbServerCamelListener implements ServletContextListener {
14  	private static final Logger log = LoggerFactory.getLogger(DbServerCamelListener.class);
15  	private static final CamelContext context = new DefaultCamelContext();
16  	
17  	/**
18  	 * Gets the context.
19  	 *
20  	 * @return the context
21  	 */
22  	public static CamelContext getContext() {
23  		return context;
24  	}
25  
26  	/* (non-Javadoc)
27  	 * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent)
28  	 */
29  	@Override
30  	public void contextDestroyed(ServletContextEvent arg0) {
31  		log.info("Finished with the camel at DBRestServer");
32  		try {
33  			context.stop();
34  		} catch (Exception e) {
35  			log.info("Exception at DbServerCamelListener", 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("Started camel Context camel at DBRestServer");
45  		try {
46  			context.addRoutes(new DbServerRoute());
47  		} catch (Exception e) {
48  			log.info("Exception at DbServerCamelListener", e);
49  		}
50  
51  		try {
52  			context.start();
53  		} catch (Exception e) {
54  			log.info("Exception at DbServerCamelListener", e);
55  		}
56  	}
57  }