Spring+quartz 做定时任务时,每5分种执行一次,怎么写法

Spring+quartz 做定时任务时,每5分种执行一次,怎么写法,第1张

写法如下:

<beanid="StaticPageQuartz"class="com.test.quartz.pageconvertor.StaticPageConvertor"

/>

<beanid="BuildStaticPageTask"

class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"

<propertyname="targetObject"ref="StaticPageQuartz"/>

<propertyname="targetMethod"value="doHTMLConvertor"/>

<propertyname="concurrent"value="false"/>

</bean>

<beanid="BuildStaticPageTrigger"

class="org.springframework.scheduling.quartz.CronTriggerBean">

<propertyname="jobDetail"ref="BuildStaticPageTask"/>

<propertyname="cronExpression"value="00/5***?"/><!--每五分钟执行一次--

</bean>

扩展资料:

Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。

Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。

Quartz是OpenSymphony开源组织在Jobscheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。

Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或EJBs。Quartz的最新版本为Quartz2.3.0。

参考资料:百度百科:spring

参考资料:百度百科:quartz

zigbee模块 CM200有3种睡眠模式,pm2模式比较省功耗而且可以被定时唤醒;pm3模式最省电但是只能被外部中断唤醒

1、sensordemo的sensor在入网以后,为什么灯在不断地闪?其实,闪一次就是睡眠了一次:亮的时候睡过来,灭的时候睡下去。具体代码在halSleep函数里。要做的,就是读懂这个机制是怎么运作的。

2、为什么闪的频率那么高?zstack的睡眠机制就是在 *** 作系统没事干的时候才睡眠,频率高说明应用程序让 *** 作系统不断做事。你想让它长时间睡眠,那要做的就是不要不断地给 *** 作系统事情做,找到分配系统任务的地方。要设置低功耗模式,先确认:

1.f8wConfig.cfg文件中DRFD_RCVC_ALWAYS_ON定义为FALSE

2.Options->C/C++Compiler->Defined symbols中添加预编译“POWER_SAVING”;重要函数void halSleep( uint16 osal_timeout )

1.首先将osal_timeout转成以320US为单位

2.获取下一次MAC定时器到期时间

3.halPwrMgtMode = (timeout == 0) ? HAL_SLEEP_DEEP : HAL_SLEEP_TIMER//为PM2,PM3模式。没有任务要执行就进入PM3深度睡眠,否则进入PM2睡眠,可以定时器唤醒。

4.唤醒OSAL机制的ZigBee低功耗管理涉及文件OSAL_PwrMgr.hOSAL电源管理的API头文件OSAL_PwrMgr.COSAL电源管理的API C文件hal_sleep.c底层的电源管理文件电源管理结构体typedef struct{uint16 pwrmgr_task_state//任务状态uint16 pwrmgr_next_timeout//下一次超时uint16 accumulated_sleep_time//睡眠时间uint8pwrmgr_device//电源管理设备属性,有PWRMGR_ALWAYS_ON和PWRMGR_BATTERY两种} pwrmgr_attribute_t#define PWRMGR_ALWAYS_ON0#define PWRMGR_BATTERY

1选择PWRMGR_ALWAYS_ON的话将不会进入睡眠模式,选择PWRMGR_BATTERY将允许HAL管理CPU进入SLEEP LITE或者SLEEP DEEP状态。#define PWRMGR_CONSERVE 0#define PWRMGR_HOLD

1低功耗标志,主要用于osal_pwrmgr_task_state()这个函数中,用于标志每一任务是否需要低功耗。extern pwrmgr_attribute_tpwrmgr_attribute定义一个电源管理的全局变量。/********************************************************************** @brief初始化电源管理函数,这个函数在OSAL.C里面的osal_init_system( )调用,也就是在OSAL系统初始化的时候将电源管理模式调成了不会进入睡眠模式的状态。*/void osal_pwrmgr_init( void ){pwrmgr_attribute.pwrmgr_device = PWRMGR_ALWAYS_ON//默认没有睡眠模式pwrmgr_attribute.pwrmgr_task_state = 0//清零}OSAL

系统在检查完所有的任务事件之后发现没有事件需要处理,这样在POWER_SAVING宏定义打开的情况下将调用osal_pwrmgr_powerconserve()函数,在这函数中将会根据选择系统进入休眠。退出休眠当出现IO中断或者复位时候会退出休眠,或者在休眠定时器中断时候也将会退出休眠。如果是IO中断或者休眠定时器中断退出之后将回到进入休眠的地方继续向下执行,复位退出的话进入程序的初部分执行。

Zigbee是不支持路由器节点休眠的,因为遵循Zigbee协议,只有终端节点支持休眠,方法如下:

要设置低功耗模式,先确认: 1.f8wConfig.cfg文件中DRFD_RCVC_ALWAYS_ON定义为FALSE 2.Options->C/C++Compiler->Defined symbols中添加预编译“POWER_SAVING”;

重要函数void halSleep( uint16 osal_timeout ) 1.首先将osal_timeout转成以320US为单位 2.获取下一次MAC定时器到期时间 3. halPwrMgtMode = (timeout == 0) ? HAL_SLEEP_DEEP : HAL_SLEEP_TIMER //为PM2,PM3模式。没有任务要执行就进入PM3深度睡眠,否则进入PM2睡眠,可以定时器唤醒。 4.唤醒 OSAL机制的ZigBee低功耗管理(CC2530)涉及文件 OSAL_PwrMgr.h OSAL电源管理的API头文件 OSAL_PwrMgr.C OSAL电源管理的API C文件 hal_sleep.c底层的电源管理文件 电源管理结构体 typedef struct { uint16 pwrmgr_task_state //任务状态 uint16 pwrmgr_next_timeout //下一次超时 uint16 accumulated_sleep_time //睡眠时间 uint8 pwrmgr_device//电源管理设备属性,有PWRMGR_ALWAYS_ON 和 PWRMGR_BATTERY两种 } pwrmgr_attribute_t #define PWRMGR_ALWAYS_ON0 #define PWRMGR_BATTERY 1 选择PWRMGR_ALWAYS_ON的话将不会进入睡眠模式,选择PWRMGR_BATTERY将允许HAL管理CPU进入SLEEP LITE或者SLEEP DEEP状态。 #define PWRMGR_CONSERVE 0 #define PWRMGR_HOLD 1 低功耗标志,主要用于osal_pwrmgr_task_state()这个函数中,用于标志每一任务是否需要低功耗。 extern pwrmgr_attribute_tpwrmgr_attribute 定义一个电源管理的全局变量。 /********************************************************************* * @brief 初始化电源管理函数,这个函数在OSAL.C里面的osal_init_system( )调用, 也就是在OSAL系统初始化的时候将电源管理模式调成了不会进入睡眠模式的状态。 */ void osal_pwrmgr_init( void ) { pwrmgr_attribute.pwrmgr_device = PWRMGR_ALWAYS_ON//默认没有睡眠模式 pwrmgr_attribute.pwrmgr_task_state = 0 //清零 } OSAL系统在检查完所有的任务事件之后发现没有事件需要处理,这样在POWER_SAVING宏定义打开的情况下将调用osal_pwrmgr_powerconserve()函数,在这函数中将会根据选择系统进入休眠。 退出休眠 当出现IO中断或者复位时候会退出休眠,或者在休眠定时器中断时候也将会退出休眠。如果是IO中断或者休眠定时器中断退出之后将回到进入休眠的地方继续向下执行,复位退出的话进入程序的初部分执行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11803229.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存