程序使用了 socket 接口,這違反了企業級 JavaBeans 編程規范。
企業級 JavaBeans 編程規范要求每個 bean 提供者都必須遵守一系列編程規范,以確保 bean 在任何 EJB 容器 [1] 中的可移植性與行為的一致性。
在這里,程序違背了以下 EJB 指導原則:
“一個企業級 bean 必須禁止監聽 Socket 接口、接受 Socket 連接或者使用 Socket 做多點傳送。”
制定該規范理由如下:
“EJB 體系結構允許企業級 bean 實例作為網絡 Socket 客戶端來運行,但禁止其作為網絡服務器來運行。而且,允許企業級 bean 實例作為網絡服務器來運行與企業級 bean 的基本功能(為 EJB 客戶端提供服務)相沖突。”
[1] Standards Mapping - Common Weakness Enumeration - (CWE) CWE ID 577
[2] The Enterprise JavaBeans 2.1 Specification Sun Microsystems