重启jetty实例的最佳方法

时间:2008-09-19 16:33:35

标签: java jetty

我正在使用start.jar和stop.jar来停止并启动我的jetty实例。 我通过调用stop.jar然后start.jar重新启动。 问题是,如果我在stop.jar和start.jar之间没有足够长的时间睡眠,我会开始获取这些随机的ClassNotFoundExceptions,并且应用程序无法正常工作。

在停止和开始之间睡一段时间是我目前的选择。

我也从别人那里听说我应该有管理我的线程的东西,以便我在码头完成之前结束那些。 它是否正确?我对此有一个问题是stop.jar会立即返回,所以它似乎对我没有帮助,除非有我遗漏的东西。 另一种选择可能是轮询日志文件,但这非常难看。

重启码头的最佳方法是什么?

Gilbert:Ant任务绝对不是一个糟糕的做法。但是,它会睡一段时间,这正是我想要避免的。

3 个答案:

答案 0 :(得分:1)

在调用shutdown之后和调用startup之前,你能编写一个shell脚本吗?


LISTEN_PORT = `netstat -vatn | grep LISTEN| grep 8080 | wc -l `
while [$LISTEN_PORT -ne 0] ; do
    sleep 1
    LISTEN_PORT = `netstat -vatn | grep LISTEN| grep 8080 | wc -l `
done

答案 1 :(得分:1)

这个帖子看起来很旧,但无论如何发帖,可能对某人有帮助。跨平台方法:

http://ptrthomas.wordpress.com/2009/01/24/how-to-start-and-stop-jetty-revisited/

答案 2 :(得分:0)

你试过JFGI吗? 设置可以为您完成工作的Ant任务?

此博客文章详细介绍了如何设置可以启动和停止码头的目标。您可以轻松拼凑另一个名为“jetty-restart”的目标,该目标取决于“jetty-stop”,然后调用“jetty-start”。

http://ptrthomas.wordpress.com/2006/10/10/how-to-start-and-stop-jetty-from-ant/