📄 initsyslistener.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 + -