twistman的技术日志

专业系统工程师打杂,副业Linux geek

IHS与WAS各版本的兼容列表
On

WAS 6.0 、WAS 6.1相继EOS,客户迁移应用程序到新版的WAS需要一段时间。但是在IHS上遇到安全漏洞需要马上升级到受支持的版本。新版本的IHS能往下兼容旧版本的WAS,只是新增的配置参数项无法在旧版本的WAS控制台配置,需要手工修改plugin的配置文件。

Read More
强烈建议升级google-gson到2.0以上版本
On

Google真的是信心的保证!一个系统做了两周的压力测试,调优到一个流程11-12秒。时间始终上不去,最后用java profiler发现瓶颈在google-gson。gson效用占了一个事务的70%多。在google-gson的roadmap上看到2.0有大量改进: Faster Previous versions first parsed complete document into a DOM-style model (JsonObject or JsonArray) and then bound data against that. Gson 2.

Read More
IHS配置多域名的SSL证书
On

SSL v2的设计顺应经典的公钥基础设施PKI(public key infrastructure)设计,后者认为一个服务器只提供一个服务从而也就只使用一个证书。这意味着服务器可以在TLS启动的早期阶段发送或提交证书,因为它知道它在为哪个域服务。HTTP服务器开启虚拟主机支持后,每个服务器通过相同的地址可以为很多域提供服务。服务器检查每一个请求来决定它在为哪个域服务。这个信息通常从HTTP请求头获得。不幸的是,当设置了TLS加密,服务器在读取HTTP请求里面的域名之前已经向客户端提交了证书,也就是已经为默认域提供了服务。因此,这种为虚拟主机提供安全的简单途径经常导致使用了错误的数字证书,从而导致浏览器对用户发出警告。 以上描述摘自OpenWares。详细了解请到:服务器名字指示SNI(Server Name Indication) 即访问www.buyberry.net会读取到beta.buyberry.net的证书,这样浏览器会报证书错误。 因此需要Server Name Indication (RFC 4366)这个扩展协议来修正。标准apache是支持Name Based SSL VHosts With SNI 。前提需要 OpenSSL 0.9.8f 之后才能支持。但是IHS并不支持这个扩展协议。

Read More
weblogic 配置 DB2 hadr jdbc failover
On

之前的blog写过怎么配置WAS 6.1 6.0 配置 DB2 hadr jdbc failover 。 今天讲讲在weblogic上的配置,配置的参数和was是一样的。只是weblogic的配置菜单和was不一样。 注意:此HowTo文档是针对IBM DB2 jdbc driver写的,如果你使用的是BEA DB2 JDBC driver则不适用。请确定DB2 jdbc driver版本信息。

Read More
WAS 6.1 6.0 配置 DB2 hadr jdbc failover
On

DB2 9.7后的HADR支持备库读取数据,相当于双active oracle datagurad。hadr的配置维护比oracle datagurad简单很多,值得大力推广。但是互联网上相关的资料很少。以下讲一下我遇到的配置问题。 在默认的数据源配置里面没有配置HADR的主备切换信息,主备切换的信息是was服务器连接到主数据库上读取的。当数据库发生切换后,应用服务器能根据主备切换消息马上切换到备库上。 可惜HADR alternate server的信息在用DB2 Universal JDBC Driver type 4的时候,hadr的配置只是保存在was服务器的内存里面并不是持久的。也就是说在HADR主机发生故障无法对外服务,备机takeover之后。这时启动应用服务器,或者应用服务器发生重启,应用服务器根据原有的配置,只会连接到主数据。所以会导致应用服务器无法正常启动。 一般Google只能搜索到这个technote:Making DB2 Universal JDBC Driver Type 4 works with DB2.

Read More
cat -vt 猫能看到鬼!
On

一个应用输出的日志很大。tail、vi、more看日志没有多少内容。清空日志后日志文件确实减少了。 > app.log ls -l 看日志大小为0。但是一访问日志文件马上有100多M。 最后用cat -vt来看发现这个日志文件里面很多不可打印的日志。tail、more等命令都不能看到不可打印的字符,如果需要看到就需要找猫(unix命令cat)来帮忙。在初学unix的时候老师就说猫能看到鬼,一些正常人看不到的东西需要找猫来帮手看。例如:^M哪些可恶的Windows的换行符。 tail -f app.log|cat -vt 这样看到很多不可见的字符,但是有确确实实在文件里面占着磁盘空间的字符。为什么生成了那么多不可打印的字符,就需要找开发人员查看代码。

Read More