⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 initsyslistener.java

📁 Java开发的权限管理的例子
💻 JAVA
字号:
package org.artemis.manager.common;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.xml.DOMConfigurator;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import com.gsta.eshore.framework.service.impl.ContextServiceLocator;
import com.gsta.eshore.framework.servicerepository.ServiceLocator;
import org.artemis.right.RightDelegate;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class InitSysListener implements ServletContextListener {
	 private static Logger logger = Logger.getLogger(InitSysListener.class);
    private ServletContext servletContext;
    private static boolean state = false;
    /**
     * 系统初始化
     */
    public void contextDestroyed(ServletContextEvent event) {
    }


    public void contextInitialized(ServletContextEvent event) {
    	logger.info("********* Initialized System now *********************");
        boolean result = ServiceLocator.getInstance().init("etc/ServiceConfig.xml");
        logger.info("init ServiceConfig.xml with result = "+result);
        
        String logFile=(String)ServiceLocator.getInstance().getOne("log4j");
        boolean logresult = initlog4j(1,logFile);
        logger.info("init log4j with result = "+logresult);
        result=initspring(event);
        logger.info("init spring with result = "+result);
        //得到EJB
        result=((RightDelegate)ContextServiceLocator.getInstance().getBean(Constants.BizDelegateTarget)).init(Constants.rightFacade);//得到EJB
        logger.info("init rightFacade Session Bean with result = "+result);
        logger.info("********* Initialized System success *********************");
    }

    /*
     * 从Web上下文得到Spring
     */
    private boolean initspring(ServletContextEvent event) {
		if (state) 
			return state;
		servletContext = event.getServletContext();
		ApplicationContext ctx= WebApplicationContextUtils.getWebApplicationContext(servletContext);
		if (ctx == null) 
			state = false;
		else 
			state = true;
		ContextServiceLocator.getInstance().setContext(ctx);
		logger.debug("ContextServiceLocator = "
				+ ContextServiceLocator.getInstance());
		logger.debug("ContextServiceLocator context = "
				+ ContextServiceLocator.getInstance().getContext());
		return state;
	}
  
	private boolean initlog4j(int debug, String logFile) {
		if (debug >= 1) {
			SimpleDateFormat formatter = new SimpleDateFormat(
					"MMM d, yyyy H:mm:ss a z");
			Date today = new Date();
			String output = "<" + formatter.format(today) + "> <Debug> ";
			logger.info(output + "  app log4j prop file: " + logFile);
		}

		// If the log4j-init-file is not set, then no point in trying
		if (logFile != null) {
			if (logFile.toString().toLowerCase().endsWith(".xml")) {
				DOMConfigurator.configure(logFile);
			} else {
				PropertyConfigurator.configure(logFile);
			}
			return true;
		} else {
			return false;
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -