この製品は、クラスローダーを使用することで、Enterprise JavaBeans(EJB)仕様に違反しています。
EnterpriseJavaBeans仕様は,すべてのBean提供者が,どのEJBコンテナでもBeanが移植可能で一貫した振る舞いをすることを確実にするために設計されたプログラミング指針の集合に従うことを要求する。この場合,この製品は,次のEJB指針に違反する:"エンタプライズBeanは,クラスローダの作成,現在のクラスローダの取得,文脈クラスローダの設定,セキュリティマネージャの設定,新しいセキュリティマネージャの作成,JVMの停止,又は入力,出力及びエラーストリームの変更を試みてはならない。"仕様書は、この要件を次のように正当化している:「これらの関数は,EJBコンテナのために予約されている。エンタプライズBeanがこれらの関数を使用することを許可すると,セキュリティが損なわれ,実行時環境を適切に管理するコンテナの能力が低下する可能性がある。"
The product violates the Enterprise JavaBeans (EJB) specification by using the class loader.
The Enterprise JavaBeans specification requires that every bean provider follow a set of programming guidelines designed to ensure that the bean will be portable and behave consistently in any EJB container. In this case, the product violates the following EJB guideline: "The enterprise bean must not attempt to create a class loader; obtain the current class loader; set the context class loader; set security manager; create a new security manager; stop the JVM; or change the input, output, and error streams." The specification justifies this requirement in the following way: "These functions are reserved for the EJB container. Allowing the enterprise bean to use these functions could compromise security and decrease the container's ability to properly manage the runtime environment."