[code]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) {
}
}[/code]
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) {
}
}[/code]