blob: 11e9bbb0de78b0fe13ae62d49298f847373f994a [file] [log] [blame]
Guillaume Nodet05fac962009-04-27 10:01:58 +00001/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17package org.apache.servicemix.smx4webex;
18
19import java.io.File;
20
21import javax.servlet.ServletContextEvent;
22import javax.servlet.ServletContextListener;
23
24import org.apache.servicemix.kernel.main.Main;
25
26public class WebAppListener implements ServletContextListener {
27
28 private Main main;
29
30 public void contextInitialized(ServletContextEvent sce) {
31 try {
32 System.err.println("contextInitialized");
33 String root = new File(sce.getServletContext().getRealPath("/") + "WEB-INF/servicemix").getAbsolutePath();
34 System.err.println("Root: " + root);
35 System.setProperty("servicemix.home", root);
36 System.setProperty("servicemix.base", root);
37 System.setProperty("servicemix.startLocalConsole", "false");
38 System.setProperty("servicemix.startRemoteShell", "true");
39 main = new Main(new String[0]);
40 main.launch();
41 } catch (Exception e) {
42 main = null;
43 e.printStackTrace();
44 }
45 }
46
47 public void contextDestroyed(ServletContextEvent sce) {
48 try {
49 System.err.println("contextDestroyed");
50 if (main != null) {
51 main.destroy(false);
52 }
53 } catch (Exception e) {
54 e.printStackTrace();
55 }
56 }
57
58}