-
Timer定时器报错5
今天使用Timer写定时程序,tomcat启动的时候出现以下异常信息:
严重: Error listenerStart
2012-12-4 9:57:28 org.apache.catalina.core.StandardContext start
严重: Context [/YGCWEB] startup failed due to previous errors
dddddd
2012-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
2012年12月04日 10:06
1个答案 按时间排序 按投票排序
-
采纳的答案
@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这是容器销毁 在这里cancel2012年12月04日 10:11
相关推荐
"lab3-timer0_LED_CCS_" 这个标题表明这是一个实验或项目,编号为“lab3”,主要关注的是使用定时器0(Timer0)来控制LED灯。"CCS"是Code Composer Studio的缩写,它是德州仪器(TI)开发的一种集成开发环境,专门...
例如,在使用 16 位定时器 TIMER1,4MHZ 晶振,256 分频,100ms 定时时,需要计算出要累加多少次才能在 1 秒后出发定时器 1 的溢出中断。计算公式为:65536-(4M/256)*0.1=63973.5。 在实现精确的延时函数时,可以...
首先,我们要理解IEC Timer的概念,它是基于国际电工委员会(IEC)61131-3标准的定时器,这种定时器在各种自动化系统中广泛使用,提供了一种统一的编程方式。 **1. 避免多次赋值:** 错误的做法是在程序的不同位置为...
定时器通过发送特定的消息(通常是`WM_TIMER`)到关联的窗口来触发事件。在上面的代码中,`SetTimer`函数创建了一个定时器,并将其关联到`MessageBox`窗口。当指定的时间(以毫秒为单位)过去后,系统会向该窗口...
**看门狗定时器(Watchdog Timer)** 看门狗定时器是一种硬件或软件机制,用于监控系统的正常运行。在Simulink中,这个概念被应用到仿真过程中,主要目的是防止仿真过程无限制地持续下去,消耗过多的计算资源。当一...
- 在一个定时器(`System.Windows.Forms.Timer`)的`Tick`事件中,更新`PerformanceCounter`的值,并将结果显示到UI上。定时器间隔可以根据需求设置,比如每秒更新一次。 5. **代码示例**: ```csharp using ...
在STM32F10X系列中,Watchdog Timer(看门狗定时器,简称WWDG)是一个重要的安全特性,用于防止程序运行失控或进入死循环。 STM32的WWDG,即窗口看门狗定时器,相较于独立看门狗定时器(IWDG),它提供了一个更灵活...
- `#ifndef_TIMER_CONFIG_H_`和`#define_TIMER_CONFIG_H_`,以及`#include"const.h"`和`#include"oscfrequencydef.h"`等表示了包含头文件的预处理指令。这些指令用于防止头文件被重复包含,并包含所需的其他配置...
- skynet_timer_init()函数:初始化定时器模块,用于处理定时事件。 - skynet_socket_init()函数:初始化网络模块,负责网络通信相关操作。 - skynet_context_new()函数:加载日志模块,负责记录日志信息。 - ...
- 对象的属性不必直接声明,因此即使对象没有某个属性,函数也不会报错。 - 必须为每个对象分别设置定时器,否则多个对象使用同一个定时器会导致动画不流畅。 - 在遍历对象的属性时,需要判断每一个属性是否已经达到...
msTimer cycleMsgTimer; } // 初始化定时器 setTimerCyclicperiod(cycleMsgTimer, 200); // 定义发送次数 int sendCount = 0; on cycleMsgTimer { output(cycleMsg); sendCount++; if (sendCount >= 10) { // ...
同时,`timer`变量用于存储定时器ID,以便在组件销毁时进行清理。 总结来说,实现Vue项目中每30秒刷新一次接口的关键在于利用`setInterval`设置周期性任务,并在周期性任务中使用`setTimeout`来避免因定时器叠加...
其次,"Timer-T5外部捕获"涉及到的是HC89S003F4内部的定时器功能。定时器T5支持外部信号捕获,允许开发者根据外部输入脉冲调整计数,这对于实时系统中的事件触发和时间间隔测量非常有用。学习如何配置和使用此功能,...
1. **定时器(timer)**:通过设置定时器的周期,可以定期执行某些操作。 2. **显示图片**:每次定时器触发时,加载并显示一张新的图片。 **注意事项**: - 确保图片加载路径正确。 - 考虑图片加载速度和显示速度是否...
基于c+lua编写的跨平台(支持windows和linux)...如果没有声明,启动会报错。 编译lua **Linux:** ```shell cd 3rd/lua make linux ``` **Windows(for MinGW):** ```shell cd 3rd/lua make mingw ``` 编译xnet **
在桌面时钟程序中,我们需要处理WM_TIMER消息,以便在定时器事件发生时更新时间。 5. **资源管理** MFC通过CResourceStub类管理资源,如位图、图标等。在设计时钟界面时,可能会使用到这些资源来美化时钟外观。 6...
2. 定时器使用定时器时,我们销毁了这个 DOM,但是在定时器中使用了这个 DOM,定时器中就保留了对这个 DOM 的引用,所以需要在清除 DOM 时也要手动清除定时器(timer = null)。 3. 闭包函数导致的泄漏。 4. 没有...
后台定时定位开机自启系统android 类库中, 虽然已经提供了几种...1. 定时的发送定位请求,首先需要 定时器 Timer 和 TimerTask ,来定时地发送定位请求; 2. 在定位的回调函数里,将定位获取的信息保存到本地
添加了集合点之后,需要对 Synchronizing Timer(同步定时器)进行配置,模拟用户组的数量:当模拟用户组数到达设定的数量时开始发起请求 超时时间以毫秒为单位:从第一个并发用户到第二个并发用户到达之间的间隔...
4. **定时器组件**:通过Timer控件来控制游戏的步进,每到一定时间间隔更新屏幕状态,实现方块的下落。 5. **数组和数据结构**:通常使用二维数组存储当前的游戏板状态,每个元素代表一个方块的位置。 6. **算法...