Spring定时器配置

简介:

声明触发器loadPortalUserLoginOrLogoutTrigger

<bean id="quartzSchedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

        <property name="triggers">

            <list>

         

                <ref local=loadPortalUserLoginOrLogoutTrigger "/>

         

            </list>

        </property>

        <property name="quartzProperties">

            <props>

                <prop key="org.quartz.threadPool.threadCount">30</prop>

            </props>

        </property>

</bean>

定义触发器loadPortalUserLoginOrLogoutTrigger(条件模式)

  <bean id="loadPortalUserLoginOrLogoutTrigger" class= "org.springframework.scheduling.quartz.CronTriggerBean">

        <property  name= "jobDetail">

            <ref  bean= "loadPortalUserLoginOrLogoutDetail"/>

        </property>

        <property name="cronExpression">

            <value>0/30 * * * * ?</value>

        </property>

</bean>

该触发器设置为从0秒开始,每30秒执行一次

调用实体类PortalUserLoginOrLogout,制定调用的方法executeTask

<bean id="loadPortalUserLoginOrLogoutDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean" >

        <property name="targetObject">

            <ref bean="PortalUserLoginOrLogout"/>

        </property>

        <property name="concurrent" value="false"/>

        <property name="targetMethod">

            <value>executeTask</value>

        </property>

</bean>

声明实体类PortalUserLoginOrLogout

<bean id="PortalUserLoginOrLogout" class="com.wafer.wse.device.job.impl.PortalUserLoginOrLogoutImpl"></bean>

定义接口

public interface PortalUserLoginOrLogout {

/**

 * 执行计划操作

 */

public void executeTask(); 

}

 

定义实现类:

 

public class PortalUserLoginOrLogoutImpl implements PortalUserLoginOrLogout{

 private final Logger LOGGER = Logger.getLogger(PortalUserLoginOrLogoutImpl.class);

 private LogOperatorDAO logOperDao;

 private DeviceIfService deviceIfService;

 private DeviceDAO devicedao;

@Override

public synchronized void executeTask() {}

}

实现的方法就会在executeTask中执行,每30秒一次


      本文转自tianjian_0913 51CTO博客,原文链接:http://blog.51cto.com/tianjian/1665975,如需转载请自行联系原作者





相关文章
|
1月前
|
缓存 Java 数据库连接
常见配置
常见配置
33 1
|
7月前
|
存储 算法 Linux
VDO卷的配置
在CentOS 7环境下,VDO通过重删和压缩技术节省磁盘空间,使1T磁盘可存储1.5T数据,降低成本。创建VDO步骤包括:添加64GB新硬盘,安装vdo和kmod-kvdo软件,使用`vdo create`命令创建VDO卷,如`vdo create --name=myvdo --device=/dev/sdb --vdoLogicalSize=200G`。之后,可通过`vdo list`、`vdo status`和`vdostats`检查状态和空间使用。最后,格式化VDO卷,创建挂载点并挂载,完成设置。
75 0
|
7月前
|
Ubuntu 安全 算法
UbuntuSSH配置
UbuntuSSH配置
93 0
|
关系型数据库 MySQL PHP
PHP环境搭建(配置)
PHP环境搭建(配置)
48 0
springdatasource:全部配置
springdatasource:全部配置
79 0
|
NoSQL Java Redis
springbootAsyncConfig配置的处理
springbootAsyncConfig配置的处理
342 0
springbootAsyncConfig配置的处理
|
缓存 安全 网络架构
|
Ubuntu Java Linux
|
SQL 存储 关系型数据库