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工程名 ...
随机推荐
- Linux 脚本为什么会有#!
我们在Linux系统终端编辑脚本时第一行通常这么写: #!/usr/bin/env python3 为什么要写这一行,起什么作用? 我们先看看不写这一行会出现什么?那么就会报下面的错误. #!/usr ...
- 几种常用hash算法及原理
计算理论中,没有Hash函数的说法,只有单向函数的说法.所谓的单向函数,是一个复杂的定义,大家可以去看计算理论或者密码学方面的数据.用“人 类”的语言描述单向函数就是:如果某个函数在给定输入的时候,很 ...
- MySQL的常用操作命令详解
系统管理">系统管理 mysql服务">启动MySQL服务 通过windows服务管理器启动MySQL服务 ? 1 开始-->运行-->输入services ...
- (转载)总结一下SQL语句中引号(')、quotedstr()、('')、format()在SQL语句中的用法
总结一下SQL语句中引号(').quotedstr().('').format()在SQL语句中的用法以及SQL语句中日期格式的表示(#).('')在Delphi中进行字符变量连接相加时单引号用('' ...
- Linux编程之内存池的设计与实现(C++98)
假设服务器的硬件资源"充裕",那么提高服务器性能的一个很直接的方法就是空间换时间,即"浪费"服务器的硬件资源,以换取其运行效率.提升服务器性能的一个重要方法就是 ...
- Activtiy完全解析(二、layout的inflate过程)
转载请标明出处: http://blog.csdn.net/xmxkf/article/details/52457893 本文出自:[openXu的博客] 在上一篇文章<Activtiy完全 ...
- 剑指Offer——知识点储备-Java基础
剑指Offer--知识点储备-Java基础 网址来源: http://www.nowcoder.com/discuss/5949?type=0&order=0&pos=4&pa ...
- Android TV开发总结(一)构建一个TV app前要知道的事儿
转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/52792562 前言:近年来,智能 ...
- Dynamics CRM EXCEL导入数据字段类型为选项集时的注意事项
在开始先展示下CRM的导入数据涉及选项集字段时的一个问题 下图是选项集字段的属性 下图是我要导入的excel中的列值,可以看出列明和字段名是一致的,而列值却不是选项集中已有的选项 在导入校验时,只要字 ...
- Sqoop-1.4.5用户手册
本文以Sqoop User Guide (v1.4.5)为主,对Sqoop-1.4.5的用户手册进行翻译,同时会结合一些实际操作中的注意事项一并写入.由于原文档很长,本文首先会以实际使用到的部分为主, ...