package com.jamesby.listener;

import java.util.*;
import javax.management.*;
import javax.naming.Context;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import weblogic.management.timer.Timer;

public class AutoTaskManager implements HttpSessionListener,
		HttpSessionAttributeListener, NotificationListener,
		ServletContextListener {
	private static final Log logger = LogFactory.getLog(AutoTaskManager.class);

	private int count;

	private ServletContext context = null;

	public static final long PERIOD = Timer.ONE_DAY;

	private long period;

	private boolean debug;

	private Timer timer;

	private Integer notificationId;

	public void contextInitialized(ServletContextEvent event) {
		try {
			initParams(event);
			timer = new Timer();
			timer.addNotificationListener(this, null, "Message Broker ");
			Calendar cal = Calendar.getInstance();
			Date timerTriggerAt = cal.getTime();
			notificationId = timer.addNotification("Timer Type",
					"Timer Message", this, timerTriggerAt, period);
			timer.start();
		} catch (Exception e) {

		}
	}

    public void initParams(ServletContextEvent event) {
        ServletContext ctx = event.getServletContext();
        try {
            period = PERIOD;
        } catch (Exception e) {
            period = Timer.ONE_DAY;
            e.printStackTrace();
        }
    }

    public void contextDestroyed(ServletContextEvent event) {
        try {
            timer.stop();
            timer.removeNotification(notificationId);
        } catch (InstanceNotFoundException e) {
            e.printStackTrace();
        }
    }

    public void handleNotification(Notification notif, Object handback) {
    }

    public void attributeAdded(HttpSessionBindingEvent se) {

    }
    
    public void attributeRemoved(HttpSessionBindingEvent se) {
 	
    }

    public void attributeReplaced(HttpSessionBindingEvent se) {

    }

    public void sessionCreated(HttpSessionEvent se) {
    }

    public void sessionDestroyed(HttpSessionEvent se) {
    }
}
评论
发表评论

您还没有登录,请登录后发表评论

jamesby
搜索本博客
最近加入圈子
存档
最新评论