?? startuplistener.java
字號:
package cn.myapps.base.web.listener;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import cn.myapps.constans.Environment;
import cn.myapps.core.task.ejb.Task;
import cn.myapps.core.task.ejb.TaskConstants;
import cn.myapps.core.task.ejb.TaskProcess;
import cn.myapps.init.InitSystem;
import cn.myapps.util.ProcessFactory;
import cn.myapps.util.timer.TimeRunnerAble;
import cn.myapps.util.timer.TimerRunner;
import com.opensymphony.webwork.ServletActionContext;
public class StartupListener extends HttpServlet implements
ServletContextListener {
// Notification that the web application is ready to process requests
private TaskProcess getTaskProcess() throws ClassNotFoundException {
return (TaskProcess) ProcessFactory.createProcess(TaskProcess.class);
}
public void contextInitialized(ServletContextEvent sce) {
try {
// 初始化用戶以及資源URL
InitSystem.init();
// 初始化應用真實路徑
String realPath = sce.getServletContext().getRealPath("/");
Environment evt = new Environment();
evt.setWebcontextBasePath(realPath);
sce.getServletContext().setAttribute(Environment.class.getName(),
evt);
// 獲取所有任務
Collection taskList = getTaskProcess().doSimpleQuery(null);
for (Iterator iter = taskList.iterator(); iter.hasNext();) {
Task task = (Task) iter.next();
if (!(task.getStartupType() == TaskConstants.STARTUP_TYPE_AUTO)) {
continue;
}
long delay = 60 * 1000;
TimerRunner.registerJSService(task.getApplicationid());
// 根據任務內容新建任務
TimeRunnerAble job = TimerRunner.createTimeRunnerAble(task,
getTaskProcess());
// 把運行的任務放進runningList map中
TimerRunner.runningList.put(task, job);
TimerRunner.registerTimerTask(job, new Date(), delay);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void contextDestroyed(ServletContextEvent sce) {
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -