如何在JavaEE中获取非事务性锁?

时间:2012-07-05 13:41:29

标签: java-ee concurrency locking inversion-of-control

我正在寻找一种方法来锁定JavaEE环境中没有事务依赖性的资源(SELECT FOR UPDATE锁是事务性的)。我猜它会是这样的:

@LockManager
private LockManager lockManager;

public void feedCat(Cat cat, Candy candy) throws LockTimeoutException, CatIsTooFatException {

    String lockName = Cat.getName() + candy.getName();
    long timeout = 1000;
    LockScope scope = LockScope.APPLICATION;

    try {
        lockManager.aquireLock(lockName, timeout, scope);
        // feed the cat....
    finally {
        lockManager.releaseLock(lockName); // or lockManager.releaseAll()
    }
}

我找不到这样的机制,对我来说这似乎是微不足道的,因为我无法像在JavaSE中那样同步我的线程(bean); JavaEE的一个主要概念是IOC(控制反转),这有点阻止我在我的bean之间同步单个对象(特别是如果我的bean在几个JVM上运行)。

0 个答案:

没有答案