0

我正在从事从 Weblogic 到 Websphere 的服务器迁移项目。问题在于,在 Weblogic 中,我们已经在 Weblogic 中使用指定为 Startup-class 的类(以及类的参数,如 log4j 配置文件),该类存在于通过编辑启动脚本添加到 Weblogic 类路径的 jar 中。此 jar 初始化一个全局 log4j 文件,该文件适用于部署在服务器上的所有应用程序,而不适用于任何特定应用程序。每个应用程序都由一个 log4j 类别来区分。

现在我在 Websphere 中找不到类似的东西。那么最好的解决方案是什么?我可以创建一个新的应用程序,它会像启动类一样进行所有初始化。我曾想过使用启动 bean,但在一些 IBM 文档中读到,由于 EJB 3.1 会话 Bean,它们已被弃用。另外如何确保这个应用程序首先加载?通过给 Websphere xml 文件启动权重 1 像这里

我正在使用 Weblogic 6.3.2 和 Websphere 8.5

4

2 回答 2

3

WebSphere 迁移工具包建议将WebLogic T3StartupDef 和 T3ShutdownDef 实现替换为 ServletContextListener 实现、会话启动 bean (Singleton) 或配置为在启动时加载的 servlet。如果您尚未使用 WebLogic 到 WebSphere 迁移工具包,请查看它。它提供了很多帮助,尤其是在部署描述符扩展方面。

EJB 3.1 中的@Singleton 会话bean 替换了专有的WebSphere 启动bean。

最佳方法取决于您需要启动逻辑的模块类型。

如果您正在考虑定制服务选项,请注意,如果您正在考虑 Liberty 服务器,则 com.ibm.websphere.runtime 包在 Liberty 中不可用。

于 2016-08-21T21:15:34.090 回答
2

如果您需要在服务器启动期间运行逻辑,听起来自定义服务(或 Liberty 配置文件上的自定义功能)是最好的模拟。否则,如果您只需要为每个应用程序添加一个库,则创建一个共享库,然后将其与服务器关联或将其与特定应用程序或模块关联

于 2016-08-21T15:08:02.207 回答