package com.deepnighttwo.aircondition.util; import java.io.IOException; import java.util.Properties; import java.util.logging.Logger; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; public class SystemInitializerCaller implements ServletContextListener { private static final Logger log = Logger .getLogger(SystemInitializerCaller.class.getName()); @Override public void contextDestroyed(ServletContextEvent event) { } @Override public void contextInitialized(ServletContextEvent event) { Properties props = new Properties(); try { props.load(SystemInitializerCaller.class.getClassLoader() .getResourceAsStream("accondition.properties")); } catch (IOException e) { e.printStackTrace(); log.severe("System Initializer can not load accondition.properties: " + e.getMessage()); return; } String clzes = props.getProperty("initializers"); if (clzes == null || clzes.trim().length() == 0) { return; } String[] clzzStr = clzes.split(","); for (String clzz : clzzStr) { try { clzz = clzz.trim(); if (clzz.length() == 0) { continue; } Class<?> clz = Class.forName(clzz); ISystemInitializer initializer = (ISystemInitializer) clz .newInstance(); initializer.initSystem(); } catch (Exception e) { e.printStackTrace(); } } } }