从任何应用程序的代码流中创建新的类加载器是否违反Java EE规范?

我想在运行时将类加载到将由应用程序创建的单独的类加载器中。

最佳答案

绝对违反规范。例如,请参见here


  尝试创建或获取类加载器,设置或创建新的安全管理器,停止JVM,更改输入,输出和错误流。该限制增强了安全性,并保持了EJB容器管理运行时环境的能力。


有两种方法可以满足您的基本需求。一个是,如果您打算在特定的应用程序服务器上进行内部部署,则没关系-只要您知道它可以工作。您最有可能搞砸热部署,因此应该在此处进行测试。

另一个是查看Java EE或您的特定应用服务器所提供的功能。例如,Weblogic允许您配置您的耳朵的类加载层次结构。此时,Java EE已经足够成熟,如果您有合理的需求,几乎可以肯定地完成它。它可能不像自定义类加载器那样好,漂亮,舒适或简单,并且可能依赖于应用服务器,但可能可以正常工作。

09-10 08:43
查看更多