动态选择Java web应用程序中要加载的类

动态选择Java web应用程序中要加载的类,java,jakarta-ee,Java,Jakarta Ee,假设在我的Javaweb应用程序中有两个类,weblogiceendpoint.class和WebSphereEndpoint.class 当我将在WebLogic或Websphere中部署此应用程序时,我需要根据服务器加载特定的类,并且必须避免另一个类,否则如果两个类都加载,部署将失败 请给我一些实现这一点的建议。您可以使用工厂模式根据环境加载所需的类 当你说加载特定的类时,你的意思是检索它的一个实例并使用它,对吗?或者您希望避免容器加载其中一个类?如果可以选择,Spring framewor

假设在我的
Java
web应用程序中有两个类,
weblogiceendpoint.class
WebSphereEndpoint.class

当我将在
WebLogic
Websphere
中部署此应用程序时,我需要根据服务器加载特定的类,并且必须避免另一个类,否则如果两个类都加载,部署将失败


请给我一些实现这一点的建议。

您可以使用工厂模式根据环境加载所需的类

当你说加载特定的类时,你的意思是检索它的一个实例并使用它,对吗?或者您希望避免容器加载其中一个类?如果可以选择,Spring framework在动态配置方面非常出色。@serge:OP正在使用[java ee],您建议使用Spring解决方案。。?只需推荐JavaEE自己的CDI即可。或者你还是来自十年前的J2EE时代,那时CDI并不存在?@BalusC:我只是比JavaEECDI更了解Spring。对于第一种情况,我可以说如何使用不同的概要文件,以便一个简单的环境变量允许应用程序选择正确的类,而对于后者,我只知道它存在:-(.这也是我刚刚发表评论而不是完整答案的原因之一…@BalusC,为了解决OP的问题,我想到了一个
@WebServletContextListener
,在
contextInitialized
上会检查
ServletContext
中的服务器信息,并相应地加载端点类方法,解决方案是什么?创建一个
Producer
,检查应用程序服务器类型并返回正确的端点?