Tomcat自动关闭问题,怎么办?

lijintong 2004-08-30 09:58:53
我的Tomcat5.0用上一两天就会自己关闭,操作系统是server 2003,是什么原因阿?
有没有其他的什么webserver比较稳定一些的?谢谢!
...全文
157 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lijintong 2004-09-01
  • 打赏
  • 举报
回复
错了,不是这个,重发:

import java.io.*;
import java.util.*;

public class RunTomcat{

private void runOnce() throws NullPointerException
{
String s;
int i = 0;
String t = new String("tomcatw.exe");
boolean isTomcatAlive = false;
try {
java.lang.Process p = java.lang.Runtime.getRuntime().exec("tasklist");

java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(p.getInputStream()));

while((s = in.readLine()) != null)
{
if(s.startsWith(t))
isTomcatAlive = true;
System.out.println(s);
}}
catch (Exception e)
{e.printStackTrace();}
System.out.println(isTomcatAlive);

if(isTomcatAlive == false)
restartTomcat();
}


public void restartTomcat()
{
try{
java.lang.Process p = java.lang.Runtime.getRuntime().exec("\"C:\\Tomcat 5.0\\bin\\tomcatw.exe\" //GT//Tomcat5");
}
catch (Exception e)
{e.printStackTrace();}
}
public static void main(String [] args)
{
RunTomcat rt = new RunTomcat();
rt.runOnce();
}
}
lijintong 2004-09-01
  • 打赏
  • 举报
回复
呵呵,谢谢楼上的,我想了个办法,就是用tasklist每隔几分钟获取进程列表,假如没有tomcatw.exe进程的话,就用程序将它启动起来,管用,呵呵!

import java.io.*;
import java.util.*;

public class RunTomcat{

private void runOnce() throws NullPointerException
{
String s;
int i = 0;
String t = new String("java.exe");
int isTomcatAlive = 0;
try {
java.lang.Process p = java.lang.Runtime.getRuntime().exec("tasklist");

java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(p.getInputStream()));

while((s = in.readLine()) != null)
{
if(s.startsWith(t))
isTomcatAlive++;
System.out.println(s);
}}
catch (Exception e)
{e.printStackTrace();}
System.out.println(isTomcatAlive);

if(isTomcatAlive < 2)
restartTomcat();
}


public void restartTomcat()
{
try{
java.lang.Process p = java.lang.Runtime.getRuntime().exec("\"C:\\Tomcat 5.0\\bin\\tomcatw.exe\" //GT//Tomcat5");
}
catch (Exception e)
{e.printStackTrace();}
}
public static void main(String [] args)
{
RunTomcat rt = new RunTomcat();
rt.runOnce();
}
}
James_Wang 2004-08-31
  • 打赏
  • 举报
回复
我对tomcat5不是太了解。使用时间稍微长点就会出现问题。我也没找到什么好的办法。干脆每天晚上某个时候把它给重新启动一下。 对于局域网内的系统,这个应该是可以接受的,谁半夜三更去访问啊?
用at命令
at 00:00 /every:M,T,W,T,F,Sa,Su (具体的符号参考windows2000自带的说明 ) c:\at_tomcat\at_tomcat.bat
在at_tomcat.bat中包含了tomcat的关闭和启动脚本(shutdown,startup) .

24,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Apache
社区管理员
  • Apache
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧