比较这个 Java EE 企业 javabean:
@Singleton
@ConcurrencyManagement(ConcurrencyManagementType.BEAN)
public class BMC {}
..用这个bean:
@Singleton
@ConcurrencyManagement(ConcurrencyManagementType.CONTAINER)
@Lock(LockType.READ)
public class CMC {}
因为容器管理的并发是默认的,所以可以像这样重写第二个 bean:
@Singleton
@Lock(LockType.READ)
public class CMC {}
因此,这当然让我感到奇怪。有什么不同?我可以1)像在课堂上一样关闭容器管理的并发性BMC
,或者我可以2)使用容器管理的并发性,但像在课堂上那样使用读锁注释CMC
类。CMC
只要我不在类声明的某处放置写锁,该类就有效地关闭了他的容器管理的并发控制。
有人可以说我演示的两个构造之间存在技术差异吗?是否有任何论据为什么一种构造比另一种更好或更受青睐?