windows系统tomcat上开发的j2ee程序,如何适配linux系统上奔跑的websphere7
公司需要将几个windows系统tomcat中间件下开发的j2ee系统部署到linux系统websphere7中间件下去运行。
这就需要做系统的适配工作。由于时间比较久了,具体问题就不详细写了。把这个适配工作主要可能涉及到的方面,遇到的问题表现做了一个小的总结,希望能够帮到有需要的同学。
主要修改的有以下几个方面:
1. web.xml的webapp声明标签版本改为2.4(websphere7不兼容webapp更高版本号,如大于2.4则websphere会内存溢出,直接挂掉)。
2. 将数据库连接池由proxool改为c3p0(新增c3p0相关jar包:c3p0-0.9.5.2.jar, c3p0-oracle-thin-extras-0.9.5.2.jar,mchange-commons-java-0.2.11.jar, 补充关联jar包:slf4-api-1.7.12.jar,
slf4j-log4j12-1.7.12.jar)。(遇到数据库不能正确连接的问题,如果有两个或更多采用proxool连接池的j2ee系统部署在一个websphere节点下,那么将只有一个j2ee系统能够正常连接数据库,而且不确定将是哪一个能成功连接,bug排查难度大,表现诡异。)
3.
Struts的配置文件,不使用通配符*,改为使用全路径。(was7不支持)
4. Java代码中的一些路径相关代码的替换。tomcat获取路径的代码与websphere中获取路径的代码得到的结果不同,需要注意修改。例如RealPath这种。
5. springMVC采用*.do作为servletDispacher的url-partern,去掉fileServlet配置。(was7不支持fileServlet配置)
6. 需要加载额外jar包的系统使用websphere扩展类操作选项(控制台里找到这个操作页)作为加载额外类的方法。加载额外类,需要在输入框内输入所有jar包的绝对路径。
7. 涉及到依赖tomcat运行环境的代码,要额外增加websphere环境中缺少的jar包。如websocket功能。
8. linux系统环境的路径以"/"起始,后台查看log时需仔细,如/home/was7/**是对的,home/was7/**就错了,因为缺少了开始的"/"。
9. linux系统下websphere中对jar包中的类冲突反应异常的敏感(可能windows上没有问题,但是linux上就出错了),如果遇到疑难杂症,可在排除了其他可能后考虑是否有系统依赖的jar包内的类名冲突了。
windows系统tomcat上开发的j2ee程序,如何适配linux系统上奔跑的websphere7的更多相关文章
- 在Visual Studio上开发Node.js程序(2)——远程调试及发布到Azure
[题外话] 上次介绍了VS上开发Node.js的插件Node.js Tools for Visual Studio(NTVS),其提供了非常方便的开发和调试功能,当然很多情况下由于平台限制等原因需要在 ...
- 在Visual Studio上开发Node.js程序
[题外话] 最近准备用Node.js做些东西,于是找找看能否有Visual Studio上的插件以方便开发.结果还真找到了一个,来自微软的Node.js Tools for Visual Studio ...
- 在Visual Studio 2013 上开发Node.js程序
[题外话] 最近准备用Node.js做些东西,于是找找看能否有Visual Studio上的插件以方便开发.结果还真找到了一个,来自微软的Node.js Tools for Visual Studio ...
- 零基础程序员入门Linux系统 !如何快速恢复系统?
新手在学习Linux系统的时候,难免会遇到命令输错,或系统出错的难题.那么如何快速解决呢?本文就先给你一个后悔药,让你快速备份并恢复Linux系统.本文将以Ubuntu为例,在这之前,你需要一台服务器 ...
- 在远程系统上开发 SharePoint 应用程序
适用范围: apps for SharePoint | Office 365 | SharePoint Foundation 2013 | SharePoint Server 2013 使用远程安装的 ...
- 如何将.Net Core应用程序部署在Linux操作系统上运行
.Net Core简介 跨平台: 可以在 Windows.macOS 和 Linux 操作系统上运行. 跨体系结构保持一致: 在多个体系结构(包括 x64.x86 和 ARM)上以相同的行为运行代码. ...
- Linux C 程序 文件操作(Linux系统编程)(14)
文件操作(Linux系统编程) 创建一个目录时,系统会自动创建两个目录.和.. C语言实现权限控制函数 #include<stdio.h> #include<stdlib.h> ...
- Fedora 11中用MinGW编译Windows的Qt4程序(在Linux系统下编译Windows的程序)
Ubuntu下可以直接安装: sudo apt-get install mingw32 mingw32-binutils mingw32-runtime 安装后编译程序可以: i586-mingw32 ...
- Linux下开发python django程序(设置admin后台管理上传文件和前台上传文件保存数据库)
1.项目创建相关工作参考前面 2.在models.py文件中定义数据库结构 import django.db import modelsclass RegisterUser(models.Model) ...
随机推荐
- [2018-01-12] laravel--ORM
建立模型 <?php namespace App; use Illuminate\Database\Eloquent\Model; class Student extends Model { / ...
- [专题总结]AC自动机
其实前面的模板也不是1A,我在题库里提前做过,也不必在意罚时,刚开始我在做别的专题 裸模板我就不说了,各个博客讲解的很明白 void insert(string s){ ,len=s.size(); ...
- Python的看门狗实现自动化实时对服务器、Windows或Linux文件夹的实时监控
众所周知,在运维过程中,实时获取目标文件夹至关重要,Python的watchdog是用程序来监视文件系统事件Python库,所以用该库可以实现对文件夹的实时监控,filenotify.py代码如下: ...
- html5基本页面
html5基本页面 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- mpvue+小程序云开发,纯前端实现婚礼邀请函
请勿使用本文章及源码作为商业用途! 前言 当初做这个小程序是为了婚礼前的需要,结婚之后,希望这个小程序能够留存下来,特地花了一些空闲时间将小程序转化成为“相册类小程序” 体验码 准备工作 mpvue框 ...
- Machine Learning in Action ---- kNN
------------恢复内容开始------------ # -*- coding: utf-8 -*- """ Created on Thu Nov 14 19:2 ...
- 如何构建自己的 react hooks
我们组的前端妹子在组内分享时谈到了 react 的钩子,趁此机会我也对我所理解的内容进行下总结,方便更多的同学了解.在 React 的 v16.8.0 版本里添加了 hooks 的这种新的 API,我 ...
- 淘宝小练习#css
* { margin: 0; padding: 0; } a { text-decoration: none; } .box { background: #f4f4f4; } /* 头部样式STAR ...
- tensorflow中的学习率调整策略
通常为了模型能更好的收敛,随着训练的进行,希望能够减小学习率,以使得模型能够更好地收敛,找到loss最低的那个点. tensorflow中提供了多种学习率的调整方式.在https://www.tens ...
- 比较一下inner join(可直接简写为join)和where直接关联
SELECT * FROM A ,B WHERE A.ID = B.ID 是比较常用的2个表关联.之前一直用这个,后来换了家公司发现这家公司的报表大多数都是用inner join,稍微研究了一下.查阅 ...