web中间件切换(was切tomcat)
一、数据源迁移:
①数据源配置在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)的更多相关文章
- 常见web中间件漏洞(四)Tomcat漏洞
这部分好久没写了,继续更新web中间件漏洞思路整理(不复现) ,争取...整理完 前几篇指路链接: nginx: https://www.cnblogs.com/lcxblogs/p/13596239 ...
- 监控分析——Web中间件
发现 中间件监控看是否有性能瓶颈 核心:主要看中间件的线性池进程池有没有排队情况,请求是否处理及时就OK Apache 以前php都是用apache,现在基本用nginx了. 首先自己启动apache ...
- JSP之WEB服务器:Apache与Tomcat的区别 ,几种常见的web/应用服务器
注意:此为2009年的blog,注意时效性(针对常见服务器) APACHE是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页 如(asp,php,cgi,jsp)等 ...
- web中间件
0x00 Web中间件概述 通俗来说,中间件是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通.Apache的Tomcat.IBM公司的WebSphere.BEA公司的WebLogic ...
- web服务器、Web中间件和Web容器的区别
web服务器>web中间件>web容器 Tomcat(servlet容器) 是 Tomcat中间件 也是 Tomcat服务器 看了谢公子的csdn文章,让我彻底分清了这三者的区别. ...
- web中间件之nginx
web中间件之nginx https://www.jianshu.com/p/d8bd75c0fb1b 对nginx正向代理和反向代理理解特别好的一篇文章. 一.nginx nginx缺点,负载均 ...
- Web中间件 - 常见漏洞总结
*文章来源:https://blog.egsec.cn/archives/472 *本文将主要说明:Web中间件常见漏洞的产生原因以及修复方案 什么是Web中间件? 百度百科是这样解释的:中间件是介于 ...
- Java Web中间件
目录 中间件 常见的web中间件有哪些 Tomcat Weblogic Jboss Jetty Webshere Glasshfish 中间件 我们经常会看到中间件,但是,一直好奇的是,中间件到底是什 ...
- 如何设置eclipse开发的web工程自动发布到tomcat的webapps下?
使用eclipse开发web工程,在配置好服务器(tomcat)之后运行该web工程,发现能正常运行.但是问题在于,当你打开tomcat路径\webapps时,会发现没有该web应用(你的web工程名 ...
随机推荐
- python的运算符与表达式
Python运算符与表达式 1. 运算符分类 运算符主要分5种: 1. 算术运算符 2. 比较运算符 3. 位运算符 4. 逻辑运算符 5. 成员运算符 6. 身份运算符 7. 赋值运算符 1. 算术 ...
- python3全栈开发-补充UDP的套接字、操作系统、并发的理论基础
一.基于UDP的套接字 udp套接字简单示例 import socket ip_port=('1.1.1.1',8181) BUFSIZE=1024 udp_server_client=socket. ...
- Linux学习之CentOS(二十)------vi/vim 按键说明
vi/vim 按键说明 除了上面简易范例的 i, Esc, :wq 之外,其实 vim 还有非常多的按键可以使用. 第一部份:一般模式可用的光标移动.复制粘贴.搜索替换等 移动光标的方法 h 或 向左 ...
- 【ASP.NET Core】给中间件传参数的方法
最近博客更新频率慢了些,原因有三: 其一,最近老周每星期六都录 ASP.NET Core 的直播,有些内容在视频里讲过,就不太想在博客里面重复.有兴趣的话可以去老周的微博看,或者去一直播,直播帐号与微 ...
- 58. Length of Last Word(easy, 字符串问题)
Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the l ...
- 阿里架构师带你深入浅出jvm
本文跟大家聊聊JVM的内部结构,从组件中的多线程处理,JVM系统线程,局部变量数组等方面进行解析 JVM JVM = 类加载器(classloader) + 执行引擎(execution engine ...
- ubuntu14.04 64位 安装H3C iNode客户端
环境: OS: ubuntu14.04LTS 64位 iNode: iNode2.40-R0162 for linux(iNode只有32位的,而且是很久以前的版本) 安装方法: 第一种: 主要参考 ...
- 工作流程,编程,调试,性能:Unity游戏开发者应该学习的20个改进技巧
Unity 是一个备受欢迎的游戏开发平台.它的功能令人印象深刻,同时也迎合了不同的游戏开发需求.游戏开发者可以使用 Unity 创建任何类型的游戏,从世界级的 RPG 游戏到最流行的增强现实游戏 Po ...
- 中间件——canal小记
接到个小需求,将mysql的部分数据增量同步到es,但是不仅仅是使用canal而已,整体的流程是mysql>>canal>>flume>>kafka>> ...
- 用go实现常用算法与数据结构——队列(queue)
queue 简介 队列是一种非常常见的数据结构,日常生活中也能经常看到.一个典型的队列如下图(图片来自 segmentfault): 可以看出队列和我们日常生活中排队是基本一致的.都遵循 FIFO(F ...