Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java @AccessTimeout(值=0)和@Lock(LockType.WRITE)之间的差异_Java_Jakarta Ee_Timeout_Ejb_Concurrentmodification - Fatal编程技术网

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

Java @AccessTimeout(值=0)和@Lock(LockType.WRITE)之间的差异,java,jakarta-ee,timeout,ejb,concurrentmodification,Java,Jakarta Ee,Timeout,Ejb,Concurrentmodification,正如我在《使用Java 7 EE乞讨》中所读到的: @Lock(LockType.WRITE):与独占锁关联的方法将 在方法的处理完成之前不允许并发调用 完成 @AccessTimeoutvalue为0表示不支持并发访问 允许。这将导致抛出ConcurrentAccessException如果 客户端调用当前正在使用的方法 所以。。。有什么区别?这两个注释都禁用并发调用,我看不出它们之间有什么区别。在什么情况下可以同时使用它们?第一个方法将阻止后续调用方,直到当前方法完成其调用。第二个,@Acc

正如我在《使用Java 7 EE乞讨》中所读到的:

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

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


所以。。。有什么区别?这两个注释都禁用并发调用,我看不出它们之间有什么区别。在什么情况下可以同时使用它们?

第一个方法将阻止后续调用方,直到当前方法完成其调用。第二个,
@AccessTimeoutvalue
将在同时有多个调用时引发异常。非常不同。

今天我花了太多时间阅读这本书,我停下来想了想,谢谢。如果你运行一些代码,使用它并进行调试,你会学到更多。一个好的开始可能是Quickstart Wildfly项目(),谢谢,首先我想阅读关于EJB的整个章节,并在开始编码之前理解所有内容,但事实证明没有什么需要理解的。这只是我的疏忽。:)大多数情况下,教科书描述了一些从代码本身就很明显的东西