@AccessTimeout(value = 0)和@Lock(LockType.WRITE)之间的差异

时间:2015-01-22 13:12:11

标签: java java-ee timeout ejb concurrentmodification

当我读到使用Java 7 EE进行开发

  

@ Lock(LockType.WRITE):与独占锁相关联的方法   在方法处理之前不允许并发调用   完成。

     

@AccessTimeoutvalue为0表示并发访问不是   允许。这将导致抛出ConcurrentAccessExceptionif a   客户端调用当前正在使用的方法。

那么......差异是什么?这两个注释都禁用了并发调用,但我发现它们没有任何区别。是否有任何合理使用它们的情况?

1 个答案:

答案 0 :(得分:2)

第一种方法将阻止后续呼叫者,直到当前呼叫者完成其呼叫。第二个,如果同时有多个调用,@AccessTimeoutvalue将抛出异常。相当不同。