行云无鸣

2008-09-30

WAS6报"Cannot forward. Response already committed."的解决方法

Filed under: 未分类 — 标签:, , — hellyguo @ 18:45

说明:

在某项目中,我们使用了WAS6,框架采用的是Struts+Spring+iBatis。在某块代码中,由于要定制某些输出,对response进行了设置及直接通过response输出。执行时,就会报错,报:Response already committed。

解决办法:

将return mapping.findForward(…);改为return null;即可。

原因:

要么生成输出内容,要么转向或重定向。这两种行为,只能二选一。WAS6较严格,对这个严格控制。而TOMCAT5.0.28,对这个控制不严格。

参考:

WAS 6.0 – Response already committed / OutputStream already obtained

2008-07-11

又死锁

Filed under: 未分类 — 标签:, , — hellyguo @ 00:00

DB2又死锁了

死得莫名其妙的

我代码都封闭了,程序居然还是在跑那段代码

一度以为是有第二台计算机在跑应用。可问遍了其他人,都说没有跑。很郁闷。

又检查了系统中的活动进程 ,也只见到一个java进程。更郁闷。

今天突然想到一个问题:是不是在WebSphere停应用更新时,应用虽然停了,但某一个线程没有停止,尚在运行。

让同事重启了WebSphere,看11号凌晨的效果。

如果今天没事了,那,很明显就是这个原因

补记:经两天观察,确定就是这个原因。看来是退出时线程控制不好。

2008-06-28

WebSphere参数调整,防止宕机

Filed under: 未分类 — 标签:, , , — hellyguo @ 23:34

1.因为IPv6,WebSphere在高通讯的情况下,容易宕机。

可通过调整一个参数解决这个问题:

应用程序服务器 > server1 > 进程定义 > Java 虚拟机 > 定制属性 > 中自定制属性

java.net.preferIPv4Stack,值为true

2.解决了IPv6问题后,IPv4又出来搞鬼,也容易宕机。

可通过调整一个参数解决这个问题:

应用程序服务器 > server1 > 进程定义 > Java 虚拟机 > 定制属性 > 中自定制属性

com.ibm.cacheLocalHost,值为true

BTW:令WebSphere输出日志支持中文,可通过设置参数:

应用程序服务器 > server1 > 进程定义 > Java 虚拟机

通用 JVM 参数

-Ddefault.client.encoding=GBK -Dfile.encoding=GBK -Duser.language=Zh -Duser.region=CN

%d 博主赞过: