Java计划任务

时间:2014-11-17 12:40:16

标签: java multithreading jboss7.x scheduler

我正在开发一个监控软件nobreaks,我正在使用计划每五秒运行一次的API ScheduleExpression,我的代码可以在下面看到:

@PostConstruct
public void agendarMonitoramento(){


    System.out.println("=================================================================================================");
    System.out.println("Iniciando monitoramento");
    System.out.println("=================================================================================================");

    upsIndividual   = nobreaksEjb.getCadNobreaskMonitoramentoIndividual();


    ScheduleExpression scheduleExpression = new ScheduleExpression().second("*/5").minute("*").hour("*");

    final TimerConfig nobreaksIndividuais = new TimerConfig(NOBREAK_SEM_BANCO_UPS, false);
    timerService.createCalendarTimer(scheduleExpression, nobreaksIndividuais);
    System.out.println("Iniciado...");

}

@Timeout
public void timeout(Timer timer) {

    for (CadNobreak cadNobreak : upsIndividual) {
        tHNobreak.monitorarNobreak(cadNobreak);
    }

}

但我有一个问题,我通过VisualVM确定这些线程始终处于活动状态,并且导致低于活动线程数的OutOfMemory可以看到:

Threads ativas

我想知道为什么这些线程在执行后没有关闭,我该怎么做才能解决这个问题。

0 个答案:

没有答案