一、数据源迁移:

①数据源配置在web容器还是在项目本身?

根据开发与生产分离原则选择配置到web容器,以免开发泄露数据库密码。



②数据库密码加密

原先was的数据源直接在console控制,密码是密文,较安全。改为tomcat正常的话是以明文配置,需改为密文。方案有两个:一是继承连接池工厂类BasicDataSourceFactory并重写一些方法;二是直接修改BasicDataSourceFactory源码。选择第一种方式。

新增一个jar包datasource.jar,与uppapi.jar一起部署到%tomcat%/lib下。





二、程序迁移

①为保持项目目录结构不改变,直接把JavaSource指为源码目录替代src,web根目录使用WebContent替代WebRoot。

②删除引入的ibm相关jar包的类。

③编译器时jdk版本要与原来版本一致。

④使用到jmx的基本全部要重新开发,因为tomcat基于jmx的扩展与was完全不同。

⑤使用了ibm的jsse用于ssl/tls安全通信的应改为sun的jsse。

⑥使用了ibm的jce的某些加密算法的比较麻烦,例如des,因为sun与ibm中key生产不同导致最后解密失败,做接口系统的应该尽可能不让销售系统改动密钥及jar包升级,不然会被他们叼死,所以要做的是把sun的jce的provider改用ibm的provider;

(1)关键的两行程序:

java.security.Security.addProvider(new com.ibm.crypto.provider.IBMJCE());

KeyGenerator kg = KeyGenerator.getInstance("DES","IBMJCE");

(2)java.security文件:security.provider.1=com.ibm.crypto.provider.IBMJCE

(3)%java%\lib\ext导入ibmjceprovider.jar、ibmpkcs.jar包

(4)security出口限制:%java%\lib\security替换local_policy.jar、US_export_policy.jar

⑦修改的配置文件及目录,并且要让配置人员同步程序库。

⑧根据tomcat加载class优先级可通过在WEB-INF/classes新建类替代原先jar包的类,以保持不改动jar包,类加载器优先加载web-inf/classes下的类。





三、参数设置

根据was生产数据配置tomcat参数。包括https配置。





四、Apache

ihs换为Apache,tomcat集群采用mod_jk模式,session共享。





五、一些性能参数收集

对一些数据采样,方便后期性能优化,TPS、吞吐量、并发量、事务响应时间、请求响应时间、cpu、磁盘、Avg Rps、成功请求、失败请求、数据库连接数、数据库响应时间、请求排队队列、线程池数据、持久连接、JVM各种参数、流量统计、apache吞吐率、并发连接数。

喜欢研究java的同学可以交个朋友,下面是本人的微信号:

web中间件切换(was切tomcat)的更多相关文章

  1. 常见web中间件漏洞(四)Tomcat漏洞

    这部分好久没写了,继续更新web中间件漏洞思路整理(不复现) ,争取...整理完 前几篇指路链接: nginx: https://www.cnblogs.com/lcxblogs/p/13596239 ...

  2. 监控分析——Web中间件

    发现 中间件监控看是否有性能瓶颈 核心:主要看中间件的线性池进程池有没有排队情况,请求是否处理及时就OK Apache 以前php都是用apache,现在基本用nginx了. 首先自己启动apache ...

  3. JSP之WEB服务器:Apache与Tomcat的区别 ,几种常见的web/应用服务器

    注意:此为2009年的blog,注意时效性(针对常见服务器)     APACHE是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页 如(asp,php,cgi,jsp)等 ...

  4. web中间件

    0x00 Web中间件概述 通俗来说,中间件是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通.Apache的Tomcat.IBM公司的WebSphere.BEA公司的WebLogic ...

  5. web服务器、Web中间件和Web容器的区别

    web服务器>web中间件>web容器 Tomcat(servlet容器)  是  Tomcat中间件  也是  Tomcat服务器 看了谢公子的csdn文章,让我彻底分清了这三者的区别. ...

  6. web中间件之nginx

    web中间件之nginx https://www.jianshu.com/p/d8bd75c0fb1b   对nginx正向代理和反向代理理解特别好的一篇文章. 一.nginx nginx缺点,负载均 ...

  7. Web中间件 - 常见漏洞总结

    *文章来源:https://blog.egsec.cn/archives/472 *本文将主要说明:Web中间件常见漏洞的产生原因以及修复方案 什么是Web中间件? 百度百科是这样解释的:中间件是介于 ...

  8. Java Web中间件

    目录 中间件 常见的web中间件有哪些 Tomcat Weblogic Jboss Jetty Webshere Glasshfish 中间件 我们经常会看到中间件,但是,一直好奇的是,中间件到底是什 ...

  9. 如何设置eclipse开发的web工程自动发布到tomcat的webapps下?

    使用eclipse开发web工程,在配置好服务器(tomcat)之后运行该web工程,发现能正常运行.但是问题在于,当你打开tomcat路径\webapps时,会发现没有该web应用(你的web工程名 ...

随机推荐

  1. python的运算符与表达式

    Python运算符与表达式 1. 运算符分类 运算符主要分5种: 1. 算术运算符 2. 比较运算符 3. 位运算符 4. 逻辑运算符 5. 成员运算符 6. 身份运算符 7. 赋值运算符 1. 算术 ...

  2. python3全栈开发-补充UDP的套接字、操作系统、并发的理论基础

    一.基于UDP的套接字 udp套接字简单示例 import socket ip_port=('1.1.1.1',8181) BUFSIZE=1024 udp_server_client=socket. ...

  3. Linux学习之CentOS(二十)------vi/vim 按键说明

    vi/vim 按键说明 除了上面简易范例的 i, Esc, :wq 之外,其实 vim 还有非常多的按键可以使用. 第一部份:一般模式可用的光标移动.复制粘贴.搜索替换等 移动光标的方法 h 或 向左 ...

  4. 【ASP.NET Core】给中间件传参数的方法

    最近博客更新频率慢了些,原因有三: 其一,最近老周每星期六都录 ASP.NET Core 的直播,有些内容在视频里讲过,就不太想在博客里面重复.有兴趣的话可以去老周的微博看,或者去一直播,直播帐号与微 ...

  5. 58. Length of Last Word(easy, 字符串问题)

    Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the l ...

  6. 阿里架构师带你深入浅出jvm

    本文跟大家聊聊JVM的内部结构,从组件中的多线程处理,JVM系统线程,局部变量数组等方面进行解析 JVM JVM = 类加载器(classloader) + 执行引擎(execution engine ...

  7. ubuntu14.04 64位 安装H3C iNode客户端

    环境: OS: ubuntu14.04LTS 64位 iNode:  iNode2.40-R0162 for linux(iNode只有32位的,而且是很久以前的版本) 安装方法: 第一种: 主要参考 ...

  8. 工作流程,编程,调试,性能:Unity游戏开发者应该学习的20个改进技巧

    Unity 是一个备受欢迎的游戏开发平台.它的功能令人印象深刻,同时也迎合了不同的游戏开发需求.游戏开发者可以使用 Unity 创建任何类型的游戏,从世界级的 RPG 游戏到最流行的增强现实游戏 Po ...

  9. 中间件——canal小记

    接到个小需求,将mysql的部分数据增量同步到es,但是不仅仅是使用canal而已,整体的流程是mysql>>canal>>flume>>kafka>> ...

  10. 用go实现常用算法与数据结构——队列(queue)

    queue 简介 队列是一种非常常见的数据结构,日常生活中也能经常看到.一个典型的队列如下图(图片来自 segmentfault): 可以看出队列和我们日常生活中排队是基本一致的.都遵循 FIFO(F ...