@AccessTimeout(value=0)和@Lock(LockType.WRITE)之间的java差异
正如我在《用Java 7 EE乞讨》中读到的:
@Lock(LockType.WRITE): A method associated with an exclusive lock will not allow concurrent invocations until the method’s processing is completed.
An @AccessTimeoutvalue of 0 indicates that concurrent access is not allowed. This will result in throwing a ConcurrentAccessExceptionif a client invokes a method that is currently being used.
所以。。。有什么区别?这两个注释都禁用并发调用,我看不出它们之间有什么区别。在什么情况下将它们一起使用是有意义的
# 1 楼答案
第一个方法将阻止后续调用方,直到当前调用方完成其调用。第二个
@AccessTimeoutvalue
将在同时有多个调用时引发异常。差别很大