Redisson:为什么被动客户没有PermitExpirableSemaphore?

时间:2018-04-13 12:25:14

标签: redisson

我正在使用redisson反应式Java客户端。在非反应客户端中,可以获得可信的信号量: -

rowSums

但是如果我创建一个被动客户端,我只能找到M1[rowSums(!M1) %in% 19:20, ] 函数。我需要PermitExpirableSemaphore,因为: -

  1. 我需要一个可以由不同线程发布的锁(因此无法使用RPermitExpirableSemaphore semaphore = redisson.getPermitExpirableSemaphore("mySemaphore");)。
  2. 我需要一个租约超时来防止死锁,以防锁定获取线程被杀死或卡住。
  3. 有没有办法在Redisson分布式锁定中实现这种行为?

    Edit1 :我可以在Config中将租约时间全局设置为: - redisson.getSemaphore("value"),但我确实需要在不同的锁定时使用不同的租约时间。

    Edit2 :在https://github.com/redisson/redisson/issues/1391

    上询问Redisson github上的问题

1 个答案:

答案 0 :(得分:0)

如在 edit2 中链接的那样,在Redisson中无法做到这一点。 Nikita是Redisson的首席开发人员,他很快推出了要求的功能,将在2.11.6中推出。