当前位置: 首页 > news >正文

网站广告做的好的企业案例分析厦门谁需要网站建设

网站广告做的好的企业案例分析,厦门谁需要网站建设,云平台开发,网站网站建设哪家便宜一、简介 Lock4j是一个分布式锁组件,它提供了多种不同的支持以满足不同性能和环境的需求,基于Spring AOP的声明式和编程式分布式锁,支持RedisTemplate、Redisson、Zookeeper。 二、特性 • 简单易用,功能强大,扩展性…
一、简介

Lock4j是一个分布式锁组件,它提供了多种不同的支持以满足不同性能和环境的需求,基于Spring AOP的声明式和编程式分布式锁,支持RedisTemplate、Redisson、Zookeeper。

二、特性

• 简单易用,功能强大,扩展性强。

• 支持redission, redisTemplate, zookeeper,可混用,支持扩展。

开源地址:

https://gitee.com/baomidou/lock4j

三、使用前准备
3.1 引入依赖

<!-- Lock4j -->
<!-- 若使用redisTemplate作为分布式锁底层,则需要引入 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>lock4j-redis-template-spring-boot-starter</artifactId>
<version>2.2.4</version>
</dependency>
<!-- 若使用redisson作为分布式锁底层,则需要引入 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>lock4j-redisson-spring-boot-starter</artifactId>
<version>2.2.4</version>
</dependency>

3.2 添加redis配置

spring:redis:
database:0Redis服务器地址 写你的ip
host:127.0.0.1
Redis服务器连接端口
port:6379
Redis服务器连接密码(默认为空)
password:
连接池最大连接数(使用负值表示没有限制  类似于mysql的连接池
jedis:
pool:
max-active:200
连接池最大阻塞等待时间(使用负值表示没有限制) 表示连接池的链接拿完了 现在去申请需要等待的时间
max-wait:-1
连接池中的最大空闲连接
max-idle:10
连接池中的最小空闲连接
min-idle:0
连接超时时间(毫秒) 去链接redis服务端
timeout: 6000

四、注解属性介绍

package com.baomidou.lock.annotation;@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public@interfaceLock4j{
Stringname()default"";Class<?extendsLockExecutor> executor()defaultLockExecutor.class;String[] keys()default{""};longexpire()default-1L;longacquireTimeout()default-1L;booleanautoRelease()defaulttrue;
}
```![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/6b1e6f4bbbe74069936e13d53233e80b.png)
### 五、简单使用```java
@GetMapping("/lockMethod")
@Lock4j(keys = {"#key"}, acquireTimeout = 1000, expire = 10000)
publicResultlockMethod(@RequestParam String key){
ThreadUtil.sleep(5000);
returnResult.OK(key);
}

异常,通过全局异常处理返回如下结果:

{
"success":false,
"message":"操作失败,request failed,please retry it.",
"code":500,
"result":null,
"timestamp":1678866034929
}

六、高级使用

6.1 自定义执行器Exector

/*** 自定义分布式锁执行器** @author: austin* @since: 2023/3/15 15:45*/
@Component
publicclassCustomRedissonLockExecutorextendsAbstractLockExecutor{@Override
publicObjectacquire(String lockKey, String lockValue, long expire, long acquireTimeout){
returnnull;
}@Override
publicbooleanreleaseLock(String key, String value, Object lockInstance){
returnfalse;
}
}
在注解上直接指定特定的执行器:@Lock4j(executor = CustomRedissonLockExecutor.class)

6.2 自定义分布式锁key生成器

/*** 自定义分布式锁key生成器** @author: austin* @since: 2023/3/15 15:46*/
@Component
publicclassCustomKeyBuilderextendsDefaultLockKeyBuilder{publicCustomKeyBuilder(BeanFactory beanFactory){
super(beanFactory);
}
}

6.3 自定义抢占锁失败执行策略

/*** 自定义抢占锁失败执行策略** @author: austin* @since: 2023/3/15 15:49*/
@Component
publicclassGrabLockFailureStrategyimplementsLockFailureStrategy{@Override
publicvoidonLockFailure(String key, Method method, Object[] arguments){}
}
默认的锁获取失败策略为 com.baomidou.lock.DefaultLockFailureStrategy.

6.4 手动加锁释放锁

@Service
publicclassLockServiceImplimplementsLockService{@Autowired
privateLockTemplate lockTemplate;@Override
publicvoidlock(String resourceKey){LockInfolock= lockTemplate.lock(resourceKey,10000L,2000L,CustomRedissonLockExecutor.class);
if(lock ==null){
// 获取不到锁
thrownewFrameworkException("业务处理中,请稍后再试...");
}
// 获取锁成功,处理业务
try{doBusiness();
}catch(Exception e){
thrownewRuntimeException(e);
}finally{lockTemplate.releaseLock(lock);
}
}privatevoiddoBusiness(){
// TODO 业务执行逻辑
}
}
http://www.yayakq.cn/news/188922/

相关文章:

  • 食品企业网站模板南昌网站关键词排名
  • 网页设计个人网站作业深圳办公室租赁
  • 如何做网站使用手册紫色风格网站
  • 邢台网站建设报价多少钱域名备案要求
  • 成都家具企业网站建设wordpress首页设计
  • 网站关键词如何优化推广网站代码
  • 电商网站建设与管理实践网站建设优化推广教程
  • 玉树市wap网站建设公司构建企业门户网站的方法
  • 网站制作与网页建设找人做辅助的网站
  • 学网站开发需要报培训机构吗晋城手机网站建设
  • 自己做的网站网页滑动不莆田有哪几家做网站设计的
  • 胶州城阳网站建设jsp技术做网站有什么特点
  • 吉安市建设局网站html5网站开发框架
  • 专业做网站开发的公司网站建设的策划
  • 龙江网站设计制作洋气的文化传媒公司名字
  • 信用网站建设意义网站如何做长尾词排名
  • 国外网站服务器租用寮步营销型网站建设
  • 青岛专门做网站的公司商丘网站建设哪家专业
  • 检测一个网站用什么软件做的方法装修设计公司起名
  • 做一个网站的计划书wordpress 加载次序
  • 建网站个人主机做服务器网站开发技术期末考试试题
  • 东莞响应式网站实力乐云seowordpress使用用户字体
  • 希音电商网站科学小制作 小发明 简单 手工
  • 网站服务器的选择有哪几种方式?总结 设网站
  • 网站建设做什么科目做企业展示型网站的好处
  • 个人可以建设哪些网站手机摄影网站首页
  • 注册完域名 如何做网站群晖做网站域名
  • 怎么做类似淘宝网站吗建工e采网
  • 上海建设银行网站静安支行wordpress apache 配置
  • 保定模板建站软件百度一下百度网页版进入