Timer定时器报错

问题描述

今天使用Timer写定时程序,tomcat启动的时候出现以下异常信息: 严重: Error listenerStart2012-12-4 9:57:28 org.apache.catalina.core.StandardContext start严重: Context [/YGCWEB] startup failed due to previous errorsdddddd2012-12-4 9:57:28 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads严重: The web application [/YGCWEB] appears to have started a thread named [Timer-2] but has failed to stop it. This is very likely to create a memory leak. Web.xml部分配置如下:   <listener>   <listener-class>cn.system.util.listener.SessionListener</listener-class> </listener>    <listener>   <listener-class>cn.system.util.listener.ContextListener</listener-class> </listener>     <listener>   <listener-class>cn.business.bakefile.ListenerTimerAutoBakeFile</listener-class> </listener>  <listener>   <listener-class>cn.system.task.MyListener</listener-class> </listener> MyListener.java如下: package cn.system.task;import java.util.Timer;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;public class MyListener implements ServletContextListener{ private Timer myTaskTimer=null; @Override public void contextDestroyed(ServletContextEvent sce) {  myTaskTimer=new Timer(true);  myTaskTimer.schedule(new MyTask(),0,1000*60*60*24); } @Override public void contextInitialized(ServletContextEvent sce) {  myTaskTimer.cancel(); }} MyTask.java如下:public class MyTask extends TimerTask{ public void run() {  System.out.println("dddddd"); } 把web.xml的Listener去掉,启动tomcat可以正常访问,加上后就报严重信息,访问的时候报404

解决方案

@Override public void contextDestroyed(ServletContextEvent sce) { myTaskTimer=new Timer(true); myTaskTimer.schedule(new MyTask(),0,1000*60*60*24); } @Override public void contextInitialized(ServletContextEvent sce) { myTaskTimer.cancel(); }写反了contextInitialized 这是初始化 在这里创建contextDestroyed这是容器销毁 在这里cancel

时间: 2024-08-02 02:14:45

Timer定时器报错的相关文章

session-在java timer定时器中调用dao层会报错

问题描述 在java timer定时器中调用dao层会报错 现在在做一个web项目,使用spring+springMVC+hibernate框架, 问题描述: 项目中有一个扫描的功能,分即时任务.定时任务.周期任务三种,即时任务已经实现了,现在使用java.util.Timer.java.util.TimerTask类做定时任务,重写TimerTask的run方法,在run方法中调用之前已经没有问题的即时任务扫描方法.每次运行定时任务时,会卡在dao层方法的调用上,因为在即时任务的扫描方法中调用

java定时器 run方法怎么返回值 我要返回result 代码里一直报错 晚生跪求解决

问题描述 java定时器 run方法怎么返回值 我要返回result 代码里一直报错 晚生跪求解决 public VirementResultInfo queryTransaction( final String bank, final TransactionInfo transactionInfo) { // final VirementResultInfo result = null; TimerTask task = new TimerTask() { @Override public v

在WebForm中,使用 System.Timers.Timer向页面定时发送内容(Response.Write(DateTime.Now);)报错。

问题描述 最近朋友有需求就是在C#中做定时器,我用控制台给他写的,没有问题.然后我就把代码拿到webform中试试,定时器调用没有问题,但是不能向页面输出内容,在网上查询说用:System.Web.HttpContext.Current.Response.Write();,但是也报错.代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingS

quartz-Quartz定时器启动报错

问题描述 Quartz定时器启动报错 在配置使用quartz时报错,找了很久不知道怎么解决,可能是jar包的问题还是什么问题呢? 错误信息如下: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'quartzScheduler' defined in class path resource [applicationContext-job.xml]: Invocation

mfc停靠窗口获取主框架报错

问题描述 mfc停靠窗口获取主框架报错 我的停靠窗口(就是系统自动生成的那个属性窗口)里的定时器里需要不停地获取当前文档的信息.然后我就想先获取主框架的指针,再GetActiveDocument(), 但是会报错.这个主框架指针必须得在这个属性窗口类里所有地方都能调用,所以我在头文件里声明一个 CMainFrame* pMain; 但是报错.如果我在OnTimer里这样写,也报错.怎么办? 解决方案 MFC框架中获取窗口/视图句柄MFC 窗口基本框架 解决方案二: 不应该这么做吧,想想吧,一个t

vb.net应用程序事件 报错无法找到me.Startup事件

问题描述 NamespaceMy'以下事件可用于MyApplication:''Startup:应用程序启动时在创建启动窗体之前引发.'Shutdown:在关闭所有应用程序窗体后引发.如果应用程序异常终止,则不会引发此事件.'UnhandledException:在应用程序遇到未处理的异常时引发.'StartupNextInstance:在启动单实例应用程序且应用程序已处于活动状态时引发.'NetworkAvailabilityChanged:在连接或断开网络连接时引发.PartialFrien

mfc-VC++报错,Access Violation.

问题描述 VC++报错,Access Violation. void CDahaojiDlg::OnTimer(UINT nlDEvent) { if(nlDEvent==2) { CTimeSpan time=time2-time1; strTime1.Format(""%2d小时 %2d分 %2d秒""time.GetHours()time.GetMinutes()time.GetSeconds()); GetDlgItem(IDC_STATIC29)->

删除一个文件夹目录里面含有很多文档的时候报错

今天同事在测试文件同步功能时,发现当删除一个文件夹目录,里面含有很多文档的时候就报: Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool exhausted at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:103) at org.apache.commons.dbc

SharePoint 2007 管理中心TimerJob”计时器作业定义”页面报错

部署完成自己开发的TimerJob,发现"计时器作业定义"页面报错,进不去了,但是TimerJob可以正常运行,这样,肯定不行的,估计还是代码有问题,把这个脆弱的sharepoint页面搞死了. 如下图,http://URL/_admin/ServiceJobDefinitions.aspx未知错误,最烦人了,而且改了web.config也不抛 冷静下来,想了一下,可能有问题的几个点: 1.配置文件格式问题,删了配置文件,依然报错,而且格式有问题,基本上Timer服务起不来. 2.读取