问题描述
在部署多个节点时,现在使用分布式锁来防止重复执行任务。 Redisson是否有其他方法可以解决此问题?
public static void main(String[] args) throws InterruptedException {
Config config = new Config();
config. useSingleServer().setAddress("redis://127.0.0.1:6379");
RedissonClient redisson = Redisson.create(config);
RedissonNodeConfig nodeConfig = new RedissonNodeConfig(config);
nodeConfig.setExecutorServiceWorkers(Collections.singletonMap("myExecutor24",1));
RedissonNode node = RedissonNode.create(nodeConfig);
node.start();
RLock lock = redisson.getLock("/myExecutor24/lock");
boolean getLock = false;
if(getLock = lock.tryLock(0,50,TimeUnit.SECONDS)) {
System.out.println("Obtain a distributed lock..............");
Rscheduledexecutorservice e = redisson.getExecutorService("myExecutor24");
WorkerOptions options = WorkerOptions.defaults().workers(2);
e.registerWorkers(options);
boolean shutdown = e.isShutdown();
System.out.println(shutdown);
e.schedule(new RedisRunning(),CronSchedule.of("0/6 * * * * ?"));
Thread.sleep(100000);
e.shutdown();
node.shutdown();
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)