Jboss7中ejb3使用@Schedule调度器总是每分钟执行

简介: Jboss7中ejb3使用@Schedule调度器总是每分钟执行 1 问题:当我尝试着去开发一个ejb3的@Schedule调度器来执行我预定每5秒钟执行一次的任务时。

Jboss7中ejb3使用@Schedule调度器总是每分钟执行

1 问题:当我尝试着去开发一个ejb3的@Schedule调度器来执行我预定每5秒钟执行一次的任务时。我意外的发现无论我怎么设置,该@Schedule以每分钟来运行。

import java.text.SimpleDateFormat;
import java.util.Date;
import javax.ejb.Schedule;
import javax.ejb.Stateless;
/**
 * 845885222@qq.com
 * @author youyou
 */
@Stateless
public class MakeHtmlSchedule {
    @Schedule(second = "*/10", minute = "*", hour = "*", persistent = false)
    public void doWork() {
        Date currentTime = new Date();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z");
        System.out.println("ScheduleExample.doWork() invoked at " + simpleDateFormat.format(currentTime));
    }
}
2 一个定时调度器不一定是@ singleton注解的对象,也可以使用@Stateless,甚至使用@Stateful的bean。如果使用的@Stateless或者@Stateful,那么doWork()方法只会是每分钟调用一次。改动为使用@Singleton装饰,就可以实现每10秒运行一次doWork()方法了。


import java.text.SimpleDateFormat;
import java.util.Date;
import javax.ejb.Schedule;
import javax.ejb.Singleton;
/**
 * 845885222@qq.com
 * @author youyou
 */
@Singleton
public class MakeHtmlSchedule {
    @Schedule(second = "*/10", minute = "*", hour = "*", persistent = false)
    public void doWork() {
        Date currentTime = new Date();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z");
        System.out.println("ScheduleExample.doWork() invoked at " + simpleDateFormat.format(currentTime));
    }
}


每10秒钟执行一次的效果:

VEIGHT 2015-01-31 22:59:00,002 INFO (EJB default - 5) ScheduleExample.doWork() invoked at 2015.01.31 公元 at 22:59:00 CST
VEIGHT 2015-01-31 22:59:10,002 INFO (EJB default - 7) ScheduleExample.doWork() invoked at 2015.01.31 公元 at 22:59:10 CST
VEIGHT 2015-01-31 22:59:20,001 INFO (EJB default - 8) ScheduleExample.doWork() invoked at 2015.01.31 公元 at 22:59:20 CST


3 参考链接: http://www.adam-bien.com/roller/abien/entry/simplest_possible_ejb_3_16



 


目录
相关文章
|
9月前
|
小程序 调度 数据库
jeecg-boot集成xxl-job调度平台,每秒/每分钟/手动都能执行成功,但是设置固定时间不触发?
jeecg-boot集成xxl-job调度平台,每秒/每分钟/手动都能执行成功,但是设置固定时间不触发?
|
XML Java 调度
Spring task:annotation-driven配置之 @Scheduled定时任务的fixedRate,fixedDelay,cron执行差异
Spring task:annotation-driven配置之 @Scheduled定时任务的fixedRate,fixedDelay,cron执行差异
314 0
|
缓存 NoSQL Java
SpringBoot定时任务@Scheduled的多线程使用
@Scheduled是Spring框架中的一个注解,它可以用于配置定时任务,使得方法可以按照规定的时间间隔定时执行。在使用该注解时,我们可以指定任务的执行时间、循环周期、并发数等参数,从而实现定时任务的功能。在Spring Boot中,@Scheduled注解可以直接应用于方法上。
485 0
|
XML 缓存 Java
通过源码理解Spring中@Scheduled的实现原理并且实现调度任务动态装载(上)
最近的新项目和数据同步相关,有定时调度的需求。之前一直有使用过Quartz、XXL-Job、Easy Scheduler等调度框架,后来越发觉得这些框架太重量级了,于是想到了Spring内置的Scheduling模块。而原生的Scheduling模块只是内存态的调度模块,不支持任务的持久化或者配置(配置任务通过@Scheduled注解进行硬编码,不能抽离到类之外),因此考虑理解Scheduling模块的底层原理,并且基于此造一个简单的轮子,使之支持调度任务配置:通过配置文件或者JDBC数据源。
547 1
通过源码理解Spring中@Scheduled的实现原理并且实现调度任务动态装载(上)
|
Java 关系型数据库 MySQL
spring schedule 动态配置执行时间
spring schedule 动态配置执行时间
386 0
|
XML JSON 监控
通过源码理解Spring中@Scheduled的实现原理并且实现调度任务动态装载(下)
最近的新项目和数据同步相关,有定时调度的需求。之前一直有使用过Quartz、XXL-Job、Easy Scheduler等调度框架,后来越发觉得这些框架太重量级了,于是想到了Spring内置的Scheduling模块。而原生的Scheduling模块只是内存态的调度模块,不支持任务的持久化或者配置(配置任务通过@Scheduled注解进行硬编码,不能抽离到类之外),因此考虑理解Scheduling模块的底层原理,并且基于此造一个简单的轮子,使之支持调度任务配置:通过配置文件或者JDBC数据源。
336 1
|
Java 调度 Spring
【小家Spring】Spring任务调度核心接口(类)之---TaskScheduler(任务调度器)、Trigger(触发器)、ScheduledTask(调度任务)详解(上)
【小家Spring】Spring任务调度核心接口(类)之---TaskScheduler(任务调度器)、Trigger(触发器)、ScheduledTask(调度任务)详解(上)
【小家Spring】Spring任务调度核心接口(类)之---TaskScheduler(任务调度器)、Trigger(触发器)、ScheduledTask(调度任务)详解(上)
|
Java 数据库连接 API
一文搞懂Executor执行器和线程池的关系,整体介绍其任务执行/调度体系:ThreadPoolExecutor、ScheduledExecutorService(上)
一文搞懂Executor执行器和线程池的关系,整体介绍其任务执行/调度体系:ThreadPoolExecutor、ScheduledExecutorService(上)
一文搞懂Executor执行器和线程池的关系,整体介绍其任务执行/调度体系:ThreadPoolExecutor、ScheduledExecutorService(上)
|
Java API 调度
一文搞懂Executor执行器和线程池的关系,整体介绍其任务执行/调度体系:ThreadPoolExecutor、ScheduledExecutorService(下)
一文搞懂Executor执行器和线程池的关系,整体介绍其任务执行/调度体系:ThreadPoolExecutor、ScheduledExecutorService(下)
一文搞懂Executor执行器和线程池的关系,整体介绍其任务执行/调度体系:ThreadPoolExecutor、ScheduledExecutorService(下)
|
调度
Quartz的Scheduler的关闭和挂起,并发控制(四)上
Quartz的Scheduler的关闭和挂起,并发控制(四)上
489 0
Quartz的Scheduler的关闭和挂起,并发控制(四)上

热门文章

最新文章