重启码头实例的最佳方法

时间:2020-03-06 14:26:49  来源:igfitidea点击:

我正在使用start.jar和stop.jar来停止和启动码头实例。
我先调用stop.jar,然后再启动start.jar。
问题是,如果我在stop.jar和start.jar之间的睡眠时间不够长,就会开始出现这些随机的ClassNotFoundExceptions,并且应用程序无法正常运行。

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

我还从某人那里听说我应该拥有一些可以管理我的线程的东西,以便在跳船结束之前就结束这些线程。
这样对吗?我对此有一个疑问,那就是stop.jar立即返回,因此它似乎无济于事,除非我缺少某些东西。
另一个选择可能是轮询日志文件,但这很丑陋。

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

吉尔伯特:蚂蚁任务绝对不是一个坏方法。但是,它会休眠一段时间,这正是我要避免的时间。

解决方案

我们尝试过JFGI吗?
设置可以为我们完成工作的Ant任务?

这篇博客文章详细介绍了如何设置可以为我们启动和停止码头的目标。我们可以轻松地将另一个目标称为" jetty-restart",该目标取决于" jetty-stop",然后称为" jetty-start"。

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

我们可以编写一个shell脚本,在调用shutdown之后再调用starting之前执行类似的事情吗?

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

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

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