TestJoba.java 3.03 KB
package com.bootdo.common.utils;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;


/**
 * 
* @ClassName: TestJoba
* @Description: redis分布式锁的测试类,可保留参照
* @author wangsx
* @date 2019年12月4日
*
 */
@Component
public class TestJoba {
	
    @Autowired
    private CommonRedisHelper commonRedisHelper;
	
	public final static String timer_key = "xsbftimer"; 

	@Scheduled(cron = "1 02 15 * * ?")
	public void xsbfTimeTaskOfEnableDt()throws Exception{
		try {
			if(commonRedisHelper.lock(timer_key,1000*30)) {
				System.out.println("job-1 开始工作了,拿锁成功...");
				Thread.sleep(3000);//休眠3秒
			}else {
				System.out.println("job-1 拿锁失败...");
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			commonRedisHelper.delete(timer_key);	
			System.out.println("job-1 工作结束了,释放锁...");
		}
	}
	
	
	@Scheduled(cron = "52 02 15 * * ?")
	public void xsbfTimeTaskOfEnableDt2()throws Exception{
		try {
			if(commonRedisHelper.lock(timer_key,1000*30)) {
				System.out.println("job-2 开始工作了,拿锁成功...");
				Thread.sleep(3000);//休眠3秒
			}else {
				System.out.println("job-2 拿锁失败...");
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			commonRedisHelper.delete(timer_key);	
			System.out.println("job-2 工作结束了,释放锁...");
		}
	}
	
	@Scheduled(cron = "3 02 15 * * ?")
	public void xsbfTimeTaskOfEnableDt3()throws Exception{
		try {
			if(commonRedisHelper.lock(timer_key,1000*30)) {
				System.out.println("job-3 开始工作了,拿锁成功...");
				Thread.sleep(3000);//休眠3秒
			}else {
				System.out.println("job-3 拿锁失败...");
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			commonRedisHelper.delete(timer_key);	
			System.out.println("job-3 工作结束了,释放锁...");
		}
	}
	
	
	@Scheduled(cron = "4 02 15 * * ?")
	public void xsbfTimeTaskOfEnableDt4()throws Exception{
		try {
			if(commonRedisHelper.lock(timer_key,1000*30)) {
				System.out.println("job-4 开始工作了,拿锁成功...");
				Thread.sleep(3000);//休眠3秒
			}else {
				System.out.println("job-4 拿锁失败...");
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			commonRedisHelper.delete(timer_key);	
			System.out.println("job-4 工作结束了,释放锁...");
		}
	}
	
	@Scheduled(cron = "5 02 15 * * ?")
	public void xsbfTimeTaskOfEnableDt5()throws Exception{
		try {
			if(commonRedisHelper.lock(timer_key,1000*30)) {
				System.out.println("job-5 开始工作了,拿锁成功...");
				Thread.sleep(3000);//休眠3秒
			}else {
				System.out.println("job-5 拿锁失败...");
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			commonRedisHelper.delete(timer_key);	
			System.out.println("job-5 工作结束了,释放锁...");			
		}
	}
	
}