### Weblogic 移植到WebSphere 的核心知识点 #### 一、引言 在IT行业中,随着业务需求的变化和技术的进步,有时需要将现有的应用程序从一个平台迁移到另一个平台。例如,从Oracle WebLogic Server迁移到IBM WebSphere Application Server。这种迁移涉及到多个层面的技术挑战,包括但不限于EJB打包发布、EJB访问、数据源配置与数据库访问、JMS处理、定时任务处理、XML及JSP文件的规范化等。 #### 二、EJB打包发布 在WebLogic与WebSphere之间进行EJB移植时,开发者需要使用特定的工具来打包EJB,并确保它们能够在目标平台上正常运行。常见的工具包括ASTK(Apache Software Toolkit)和IBM Rational Application Developer 6.0 (RAD)。具体步骤包括: 1. **使用工具创建EJB项目**:在开发工具中创建一个新的EJB项目。 2. **导入源代码**:将现有项目的源代码导入到新创建的EJB项目中。 3. **编辑EJB描述文件**:根据WebSphere的要求调整EJB描述文件。 4. **完成EJB到数据库的映射**:更新数据库连接配置,确保EJB能够正确地与后端数据库交互。 5. **打包发布**:使用部署工具进行EJB的编译和打包。 #### 三、EJB访问 WebLogic和WebSphere在EJB访问方面存在显著差异,尤其是在初始上下文工厂和提供商URL的配置上。具体区别如下: - **WebLogic**: - `Context.INITIAL_CONTEXT_FACTORY` 设置为 `"weblogic.jndi.WLInitialContextFactory"` - `Context.PROVIDER_URL` 设置为 `"t3://localhost:7001"` - **WebSphere**: - `Context.INITIAL_CONTEXT_FACTORY` 设置为 `"com.ibm.websphere.naming.WsnInitialContextFactory"` - `Context.PROVIDER_URL` 设置为 `"iiop://localhost:2809/"` 为了更好地适应移植过程,建议将初始上下文工厂和其他配置项作为配置文件的一部分,而不是硬编码在Java代码中,以便于管理和维护。 #### 四、数据源配置和数据库访问 在移植过程中,还需要注意WebLogic与WebSphere之间的事务处理差异。例如,获取UserTransaction的方式不同: - **WebLogic**: - `UserTransaction` 可以通过 `getInitialContext().lookup("javax.transaction.UserTransaction")` 获取。 - **WebSphere**: - `UserTransaction` 可以通过 `getInitialContext().lookup("jta/usertransaction")` 获取。 此外,数据源配置也有区别,在WebSphere Application Server 6.0中,数据源配置通常是在“资源”->“JDBC提供程序”中完成的。 #### 五、JMS处理 JMS(Java消息服务)的处理方式在WebLogic和WebSphere之间也存在差异: - **WebLogic** 支持直接设置Message Listener。 - **WebSphere** 中则不支持直接设置Message Listener,而推荐使用MDB(Message Driven Bean)或WebSphere MQ。 #### 六、定时任务处理 对于定时任务处理,WebSphere提供了多种解决方案,包括: - 开发基于J2EE标准的定时服务企业Bean。 - 使用WebSphere Scheduler实现定时服务。 #### 七、XML文件和JSP文件的规范化 在移植过程中,还需要特别注意XML文件(如web.xml、ejb-jar.xml)和JSP文件的书写规范。这包括确保所有类库的导入正确无误、保留字使用正确的大小写等。例如,“charset”必须使用小写字母。 #### 八、解决技术问题 在实际操作过程中可能会遇到一些技术问题,比如在WebSphere v5.x中编译大型JSP文件时可能出现编译中断的情况。解决方法包括登录WebSphere管理控制台并设置JVM参数 `-Dcom.sun.tools.javac.main.largebranch=true`。 此外,如果在WebSphere中遇到Classcast异常,可能是因为类加载器对类加载有更严格的要求。可以通过设置共享库的方式解决此问题。 #### 九、总结 从WebLogic迁移到WebSphere是一项复杂但可行的任务。关键在于理解两个平台之间的技术差异,并采取相应的措施进行调整。上述内容涵盖了移植过程中的一些重要知识点,希望对正在进行此类迁移工作的技术人员有所帮助。
- 粉丝: 16
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助