J2EE疑难解决实例 |
作者:佚名 发布时间:2005-04-02 来源:不详
|
作者:xiaoyao原创 发文时间:2003.10.22 |
System.out.println(&
|
quot;total memory is: "
|
|
+ java.lang.Runtime.
|
getRuntime().totalMemory() /
|
1024);
|
System.out.println(&
|
quot;free memory is: "
|
+java.lang.Runtime.getRuntime().
|
freeMemory() / 1024);
|
有一天,一家客户要找东软麻烦,说 是内存分配请求失败。
|
我们的软件不好用,总死机。weblogic错误提示好象
|
--东软的应用系统从 终归不能跟服务器上的webl
|
研发环境搬到使用环境去,一开 ogic比啊。
|
始总要出点毛病,PC机上的tomcat
|
监理公司打上门来了,我和一个java 髓的技术大师,不是精通java命令语法、 义。)
|
天师一起受理这个案子。(java天师就是洞察java心 熟练ide工具用法的程序员,不是编码工,以下同此
|
开发主力亲自过来搭建 同的unix类型,因此数据库
|
了演示环境,我们测试了一下, 也是不同的版本。别的地方都一
|
没有出现同等错误。操作系统是不 样啊。
|
天师用java.lang.Runt 实际分配量和使用量,发到 数,实际运行时,jvm没有
|
ime.getRuntime().totalMemory 前线去测了一下,发现虽然启动 得到这么多内存。
|
()和freeMemory()函数得到jvm的 Weblogic server指定了大内存参
|
案子结束,我们通知前
|
线去索要weblogic和unix OS的
|
最新补丁,现在该东软发飙了。
|
System.out.println("the cal
|
ler is "
|
+ sun.reflect.Reflection.getCall
|
erClass(0));
|
System.out.println(&
|
quot;the caller is "
|
+sun.reflect.Reflect
|
ion.getCallerClass(1));
|
System.out.println("the cal
|
ler is "
|
+sun.reflect.Reflect
|
ion.getCallerClass(2));
|
这是我们自己的故事, 异常,不能正确分配新的连
|
NOU发布后,一切表现如常,有 接。以前做压力测试、暴力测试
|
一次,突然发现数据库连接池行为 都没有漏过一次啊?!
|
为了查错,我们想知道是那些程序访 在bean里面加代码来实现调用者的报告了
|
问了公共的数据库访问bean。调用的地方太多,只能 ,用什么代码呢?
|
我们在水母smth.org上 sun.reflect.Reflection.g 试了,果然能汇报,0是ge 不稳定。这个函数好象不能
|
发了一个提问,半小时内就有了 etCallerClass(int i),参数随 tCallerClass自身,1是bean自 准确的报告所有的调用层。对我
|
一个有价值的回答,提醒我们用 便,0,1,2,3都可以。我们 身,2就应该是bean的调用方,3 们来说,能有2好用就可以了。
|
我们在程序上依然没有找到错误,vaja用了一个晚上排除了代码有问题的可能性。 |
最后我们把weblogic的连接池的健壮性探测开关都打开,错误排除了。 |
接着上一个故事,我们又调一个系统 能在weblogic上用。读ApplicationResou ApplicationResources.properties文件
|
,这次是kevin的struts框架的程序搬家失败了,不 rces.properties文件失败,我们在 里改了各种可能,都不行。
|
我们换了一台服务器,范例部署成功了,而业务程序部署依然错误。 |
我们能判定的是:weblogic版本对应用系统的表现有影响。 |
kevin和离岛狂人一起 补丁的。有补丁也是sp2。
|
比较了weblogic的版本,发现不
|
能部署struts范例的系统是根本没
|
在大连的网管没给我们 便解决问题。
|
ftp权限,三天后,在沈阳,从j
|
ava天师那里得到了sp4,回来装上
|
光有j2sdk,jsp,servlet的知识和 ,尽量分解错误,定位错误,缩小错误范 有助于调试的初步结论。
|
开发工具的知识,还是不够,要懂得系统运转的机理 围,还可以通过各种实验来排除一些可能,形成一些
|
进一步,要分清楚是在研究环境还是现场环境做动作,在现场做事情另外有一些规则 |
|
|
|
|
|