跳到主要内容

分布式锁原理的详细剖析-下

plus 版本专属

此章节是黑马点评 Plus 版本中专有的内容,而在整套文档中将普通版本和 Plus 版本都融合在了一起,让大家更方便的学习。

在上篇文章中我们接受了分布式锁的切面实现的全部过程,而在本文中,本人将接着介绍分布式锁的方法级别的实现过程

依旧从自动装配作为入口来分析

ServiceLockAutoConfiguration

public class ServiceLockAutoConfiguration {

@Bean(LockInfoType.SERVICE_LOCK)
public LockInfoHandle serviceLockInfoHandle(){
return new ServiceLockInfoHandle();
}

@Bean
public ManageLocker manageLocker(RedissonClient redissonClient){
return new ManageLocker(redissonClient);
}

@Bean
public ServiceLockFactory serviceLockFactory(ManageLocker manageLocker){
return new ServiceLockFactory(manageLocker);
}

@Bean
public ServiceLockAspect serviceLockAspect(LockInfoHandleFactory lockInfoHandleFactory,ServiceLockFactory serviceLockFactory){
return new ServiceLockAspect(lockInfoHandleFactory,serviceLockFactory);
}

@Bean
public ServiceLockTool serviceLockTool(LockInfoHandleFactory lockInfoHandleFactory,ServiceLockFactory serviceLockFactory){
return new ServiceLockTool(lockInfoHandleFactory,serviceLockFactory);
}
}

ServiceLockAutoConfiguration 是自动装配类,加载了 分布式锁的key解析处理器、分布式锁工厂、分布式锁切面、分布式锁工具的对象,而这个分布式锁工具 就是方法级别操作的api

锁工具 ServiceLockTool