程序使用了多線程同步,這違反了企業級 JavaBeans 編程規范。
企業級 JavaBeans 編程規范要求每個 bean 提供者都必須遵守一系列編程規范,以確保 bean 在任何 EJB 容器 [1] 中的可移植性與行為的一致性。
在這里,程序違背了以下 EJB 指導原則:
“一個企業級 bean 必須禁止利用線程同步機制來同步執行多個實例。”
制定該規范理由如下:
“這一規則要求確保一致的運行時語義,因為一些 EJB 容器可能會使用單個 JVM 來執行所有 bean 實例,而其他一些可能會跨多個 JVM 分布各個 bean 實例。”
[1] Standards Mapping - Common Weakness Enumeration - (CWE) CWE ID 574
[2] The Enterprise JavaBeans 2.1 Specification Sun Microsystems