com.github.sadstool:redisson-aspect-lock

redisson aspect lock for spring

Лицензия

Лицензия

Категории

Категории

Redis Данные Базы данных Redisson
Группа

Группа

com.github.sadstool
Идентификатор

Идентификатор

redisson-aspect-lock
Последняя версия

Последняя версия

0.1.2
Дата

Дата

Тип

Тип

jar
Описание

Описание

com.github.sadstool:redisson-aspect-lock
redisson aspect lock for spring
Ссылка на сайт

Ссылка на сайт

https://github.com/sadstool/redisson-aspect-lock
Система контроля версий

Система контроля версий

https://github.com/sadstool/redisson-aspect-lock

Скачать redisson-aspect-lock

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.github.sadstool/redisson-aspect-lock/ -->
<dependency>
    <groupId>com.github.sadstool</groupId>
    <artifactId>redisson-aspect-lock</artifactId>
    <version>0.1.2</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.sadstool/redisson-aspect-lock/
implementation 'com.github.sadstool:redisson-aspect-lock:0.1.2'
// https://jarcasting.com/artifacts/com.github.sadstool/redisson-aspect-lock/
implementation ("com.github.sadstool:redisson-aspect-lock:0.1.2")
'com.github.sadstool:redisson-aspect-lock:jar:0.1.2'
<dependency org="com.github.sadstool" name="redisson-aspect-lock" rev="0.1.2">
  <artifact name="redisson-aspect-lock" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.sadstool', module='redisson-aspect-lock', version='0.1.2')
)
libraryDependencies += "com.github.sadstool" % "redisson-aspect-lock" % "0.1.2"
[com.github.sadstool/redisson-aspect-lock "0.1.2"]

Зависимости

compile (1)

Идентификатор библиотеки Тип Версия
org.redisson : redisson jar 3.3.0

Модули Проекта

Данный проект не имеет модулей.

redisson-aspect-lock

How to start

repositories {
    mavenCentral()
}
dependencies {
	compile('com.github.sadstool:redisson-aspect-lock:0.1.2')
	compile('org.springframework.boot:spring-boot-starter-aop')
}

RedissonClient bean will be registered with standard spring spring.redis properties.

Lock path

Lock by method

    @Lockable
    public void importantFeature() {
        ...
    }

Lock by name

    @Lockable("oneAtTime")
    public void importantFeature() {
        ...
    }

    @Lockable("oneAtTime")
    public void otherDependentFeature() {
        ...
    }

Lock by name and key components

    @Lockable("name")
    public void importantFeature(@LockKey int someId, @LockKey int otherId) {
        ...
    }

Lock by key with SpEL

    public class Entity {
        String field1;
        String field2;
        ...
    }

    @Lockable(key = "#entity.field1 + '.' + #entity.field2")
    public void importantFeature(Entity entity) {
        ...
    }

Multiple locks by keys with SpEL

    @Lockable(key = {"#groupId", "#userId"})
    public void importantFeature(String groupId, String userId) {
        ...
    }

Wait and lease time

If the lock is currently held by another process, this method keeps trying to acquire it for up to waitTime (millis) before giving up and throwing an exception. If the lock is acquired, it is held until method ends or until leaseTime (millis) have passed since the lock was granted - whichever comes first.

    @Lockable(waitTime = 1000, leaseTime = 30000)
    public void importantFeature() {
        ...
    }

Properties

sadstool:
  lock:
    waitTime: <defaultWaitTime>
    leaseTime: <defaultLeaseTime>
    names:
      - pattern: <firstNamePattern>
        waitTime: <customWaitTime>
        leaseTime: <customLeaseTime>
      - pattern: <otherNamePattern>
        waitTime: <otherWaitTime>

Default waitTime is 0. Default leaseTime is 10 seconds.

Версии библиотеки

Версия
0.1.2
0.1.1
0.1.0