程序使用了程序類加載器,這違反了企業級 JavaBeans 編程規范。
企業級 JavaBeans 編程規范要求每個 bean 提供者都必須遵守一系列編程規范,以確保 bean 在任何 EJB 容器 [1] 中的可移植性與行為的一致性。
在這里,程序違背了以下 EJB 指導原則:
“企業級 bean 必須禁止以下內容:創建類加載器;獲取當前類加載器;設置類加載器上下文;設置安全管理器;創建新的安全管理器;停止 JVM 或者篡改輸入、輸出及錯誤流。”
制定該規范理由如下:
“這些功能都是為 EJB 容器預留的。允許企業級 bean 使用這些功能會造成一些安全上的漏洞,并使容器無法正確地管理運行時環境。”
[1] Standards Mapping - Common Weakness Enumeration - (CWE) CWE ID 578
[2] The Enterprise JavaBeans 2.1 Specification Sun Microsystems