天天看點

Spring定時器配置

<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>

</bean>

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

        <property  name= "jobDetail">

            <ref  bean= "loadPortalUserLoginOrLogoutDetail"/>

        <property name="cronExpression">

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

該觸發器設定為從0秒開始,每30秒執行一次

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

        <property name="targetObject">

            <ref bean="PortalUserLoginOrLogout"/>

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

        <property name="targetMethod">

            <value>executeTask</value>

<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,如需轉載請自行聯系原作者

下一篇: 面試題