应用场景
在需要定时执行任务时就需要代码实现定时器任务,但是现在的系统大多是分布式系统,N台业务逻辑服务器同一时刻执行任务,如果不作处理,务必会造成资源的严重浪费,严重情况还会引起业务的失败。所以此时就需要实现分布式锁来保证同一时刻只有一台服务器执行该任务,不仅节约了系统资源,在保证高可用的情况下,还能正常的保证业务逻辑的实现。
代码实现
定时器
第一步
设置需要实现定时任务的bean与需要执行的方法名
<bean id="jobDetail1" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="Scheduler1">
</property>
<property name="targetMethod" value="run"/>
<!-- 是否允许任务并发执行。当值为false时,表示必须等到前一个线程处理完毕后才再启一个新的线程 -->
<property name="concurrent" value=