跳到主要内容

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

plus 版本专属

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

本文将详细介绍分布式锁的设计架构,其中应用了大量的设计模式,和 Spring 的自动装配,相信小伙伴看完后会对架构组件的设计有更深入的理解

依赖

<dependency>
<groupId>org.javaup</groupId>
<artifactId>hmdp-service-lock-framework</artifactId>
<version>${revision}</version>
</dependency>

锁的自动装配加载

org.javaup.config.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解析处理器、分布式锁工厂、分布式锁切面、分布式锁工具的对象

锁的管理