spring-boot-klock-starter V1.1 主体功能重大更新内容介绍

基于redis的 spring-boot 分布式锁组件,使得项目拥有分布式锁能力变得异常简单,开箱即用。

此组件同样适用于spring mvc项目。

本次更新内容:

  1. 支持锁定方法入参的业务key
  2. 支持注解方式获取业务key
  3. 支持Spel获取业务key

具体使用方式如下:

使用场景描述:

本次更新主要解决,如果入参的value相同时需要加锁,入参的value不同的时候不加锁直接放行的场景;

开箱即用

1.添加lock starter组件依赖

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-klock-starter</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>

2.application.properties配置redis链接:spring.klock.address=127.0.0.1:6379

3.在需要加分布式锁的方法上,添加注解@Klock,如:

@Service
public class TestService {
  @Klock(waitTime = Long.MAX_VALUE)
  public String getValue(String param) throws Exception {
    if ("sleep".equals(param)) {//线程休眠或者断点阻塞,达到一直占用锁的测试效果
      Thread.sleep(1000 * 50);
    }
    return "success";
  }
}

总结

以上所述是小编给大家介绍的spring-boot-klock-starter V1.1 主体功能重大更新内容介绍,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 详解spring boot starter redis配置文件

    spring-boot-starter-Redis主要是通过配置RedisConnectionFactory中的相关参数去实现连接redis service. RedisConnectionFactory是一个接口,有如下4个具体的实现类,我们通常使用的是JedisConnectionFactory. 在spring boot的配置文件中redis的基本配置如下: # Redis服务器地址 spring.redis.host=192.168.0.58 # Redis服务器连接端口 spring.

  • spring-boot整合dubbo:Spring-boot-dubbo-starter

    为什么要写这个小工具 如果你用过Spring-boot来提供dubbo服务,相信使用中有很多"不爽"的地方.既然使用spring boot,那么能用注解的地方绝不用xml配置,这才是spring-boot-style.开个玩笑,真正意思是,spring-boot适合一些简单的.独立的服务,一个大的系统是不适合使用spring-boot来开发.相反,spring-boot适合那些简单服务的搭建. 网上大多数的方法还是使用xml配置,通过@Import注解来引入xml配置. 怎么使用 对于

  • 深入浅析 Spring Boot Starter

    Spring Boot 简介 Spring框架功能很强大,但是就算是一个很简单的项目,我们也要配置很多东西.因此就有了Spring Boot框架,它的作用很简单,就是帮我们自动配置.Spring Boot框架的核心就是自动配置,只要存在相应的jar包,Spring就帮我们自动配置.如果默认配置不能满足需求,我们还可以替换掉自动配置类,使用我们自己的配置.另外,Spring Boot还集成了嵌入式的Web服务器,系统监控等很多有用的功,让我们快速构建企业及应用程序. 依赖管理是任何复杂项目的关键部

  • spring-boot-klock-starter V1.1 主体功能重大更新内容介绍

    基于redis的 spring-boot 分布式锁组件,使得项目拥有分布式锁能力变得异常简单,开箱即用. 此组件同样适用于spring mvc项目. 本次更新内容: 支持锁定方法入参的业务key 支持注解方式获取业务key 支持Spel获取业务key 具体使用方式如下: 使用场景描述: 本次更新主要解决,如果入参的value相同时需要加锁,入参的value不同的时候不加锁直接放行的场景: 开箱即用 1.添加lock starter组件依赖 <dependency> <groupId>

  • Spring Boot Admin实现服务健康预警功能

    Over View 上一篇文章主要介绍了Spring Boot Admin的概况以及我们如何在系统中引入和使用Spring Boot Admin,以此来帮助我们更加了解自己的系统,做到能快速发现.排查问题.本篇文章将用代码演示Spring Boot Admin的消息通知功能,并利用这个开箱即用的特性来个性化我们的需求,优化我们在服务治理方面的工作效率. Spring Boot Admin内置了多种开箱即用的系统通知渠道,包括邮件.Slack.Telegram.Hipchat等多种社交媒体的通知渠

  • Spring Boot 中starter的原理详析

    目录 1.springboot 的starter 的启动原理是什么 原理 来个例子 小结 2.springboot 是如何找到配置类的 3.springboot starter 的bean 是怎么加载到容器的 4.总结 前言: 今天介绍springboot ,也是写下springboot的插件机制,starter的原理,其实这个网上已经很多了,也是看了不少别人的文章,今天主要还是带着问题去记录下. 1.springboot 的starter 的启动原理是什么 原理 这个问题是很简单的,只要了解s

  • Spring Boot自定义 Starter并推送到远端公服的详细代码

    目录 一.新建项目,完善pom文件 二.编写业务逻辑 三.编写自动配置类AutoConfig 四.编写spring.factories文件加载自动配置类 五.maven打包 六.推送到远端仓库,使用JitPack 七.使用案例 八.相关问题 一.新建项目,完善pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.

  • spring boot 自定义starter的实现教程

    spring boot 使用 starter 解决了很多配置问题, 但是, 他是怎么来解决这些问题的呢? 这里通过一个简单的例子, 来看一下, starter是怎么来设置默认配置的. 一. 建 starter 项目 自定义的starter, 项目命名规范是: 自定义名-spring-boot-starter 先来看一下, 我最后的目录结构 1. 修改pom.xml文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns

  • Spring Boot简单实现文件上传功能

    目录 前言 后端处理 物理路径和虚拟路径映射 前言 前端处理 通过form表单来上传文件 提交方式为post enctype格式为"multipart/form-data" input类型为file name属性必须和Controller中方法的形参名称一致 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <titl

  • Spring Boot自定义Starter组件开发实现配置过程

    目录 自定义starter 为什么要自定义starter 自定义starter的命名规则 实现方法 引入依赖 编写测试类 创建配置类 创建spring.factories文件 乱码问题 解决方案: 1. 使用yml配置文件进行配置. 2. 使用自定义配置文件如: 3. 把中文换成对应的ASCII码. 自定义starter SpringBoot中的starter是一种非常重要的机制,能够抛弃以前繁杂的配置,将其统一集成进 starter,应用者只需要在maven中引入starter依赖,Sprin

  • 使用Spring boot + jQuery上传文件(kotlin)功能实例详解

    文件上传也是常见的功能,趁着周末,用Spring boot来实现一遍. 前端部分 前端使用jQuery,这部分并不复杂,jQuery可以读取表单内的文件,这里可以通过formdata对象来组装键值对,formdata这种方式发送表单数据更为灵活.你可以使用它来组织任意的内容,比如使用 formData.append("test1","hello world"); 在kotlin后端就可以使用@RequestParam("test1") greet

  • Spring Boot 整合RocketMq实现消息过滤功能

    目录 简介 根据TAG过滤消息 生产者 消费者 测试结果 根据SQL表达式过滤消息 生产者 消费者 启动程序报错The broker does not support consumer to filter message by SQL92 测试结果 总结 简介 消息过滤是指消费者一端在消费消息时,对消息进行选择性过滤,只消费符合过滤条件的消息. RocketMQ的消息过滤机制大致分为两种:标签过滤和类过滤.其中标签过滤又分为Tag过滤和SQL92过滤. 根据TAG过滤消息 消息发送端只能设置一个

  • Spring Boot实现微信扫码登录功能流程分析

    目录 1. 授权流程说明 第一步:请求CODE 第二步:通过code获取access_token 第三步:通过access_token调用接口 2. 授权流程代码 3. 用户登录和登出 4. Spring AOP校验用户有没有登录 5. 拦截登录校验不通过抛出的异常 微信开放平台:微信扫码登录功能 官方文档:https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html 1. 授权

随机推荐