New file |
| | |
| | | package com.dy.common.webListener; |
| | | |
| | | import com.dy.common.util.Config; |
| | | import com.dy.common.util.ConfigProperties; |
| | | import jakarta.servlet.ServletContext; |
| | | import jakarta.servlet.ServletContextEvent; |
| | | import jakarta.servlet.ServletContextListener; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | import java.io.InputStream; |
| | | import java.net.URL; |
| | | |
| | | @Slf4j |
| | | public class ConfigListener implements ServletContextListener { |
| | | |
| | | // |
| | | public static final String CONFIGFILENAMES = "configFileNames" ; |
| | | |
| | | @Override |
| | | public void contextInitialized(ServletContextEvent event) { |
| | | ServletContextListener.super.contextInitialized(event); |
| | | ServletContext con = event.getServletContext(); |
| | | this.init(con); |
| | | } |
| | | |
| | | @Override |
| | | public void contextDestroyed(ServletContextEvent event) { |
| | | ServletContextListener.super.contextDestroyed(event); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 解析系统配置 |
| | | * @return |
| | | */ |
| | | private boolean init(ServletContext con){ |
| | | try { |
| | | InputStream in = this.getClass().getResourceAsStream("/config/config.properties") ; |
| | | if(in == null){ |
| | | throw new Exception("未找到配置/config/config.properties属性配置文件名称!") ; |
| | | } |
| | | ConfigProperties.init(in, false); |
| | | |
| | | String configFileName = con.getInitParameter(CONFIGFILENAMES); |
| | | if(configFileName == null || configFileName.trim().equals("")){ |
| | | throw new Exception("未配置config类文件名称!") ; |
| | | } |
| | | String confs[] = configFileName.split(","); |
| | | String conf = null ; |
| | | for(int i = 0 ; i < confs.length ; i++){ |
| | | conf = confs[i].trim() ; |
| | | if(conf != null && !conf.equals("")){ |
| | | URL configFileURL = null; |
| | | configFileURL = ConfigListener.class.getResource("/config/" + conf); |
| | | if(configFileURL == null){ |
| | | configFileURL = ConfigListener.class.getResource("/" + conf); |
| | | } |
| | | Config.getInstance().init(configFileURL) ; |
| | | } |
| | | } |
| | | return true; |
| | | } catch (Exception e) { |
| | | System.out.println("系统启动时,初始化配置出错 !"); |
| | | System.out.println(e.getMessage()); |
| | | e.printStackTrace(); |
| | | return false; |
| | | } |
| | | } |
| | | } |