寻找启动jboss的最佳方式
我想知道,如何在特定的时间启动带有cron作业的JBoss。寻找启动jboss的最佳方式
我现在正在做的是设置一个cron,然后在JBoss startinstance脚本中,我放置睡眠700秒,直到jboss启动。
有没有更好的方法来真正知道JBoss何时成功启动,然后继续流动,而不是睡700秒?有没有人做过类似的事情?
我有这样的事情,我不认为这是正确的解决方案:
#!/bin/ksh
#This script accepts one parameter URL which should to tracked
usage() {
msg=${1}
echo "ERROR: "
exit 1
}
args_no=$#
if [[ ${args_no} -ne 1 ]]; then
usage
fi
URL_to_check=${1}
jboss_status=1
while [[ ${jboss_status} -ne 0 ]]; do
wget ${URL_to_check} > /dev/null
jboss_status=$?
sleep 10
done
exit 0
为什么JBoss的启动计划的作业? JBoss是否应该启动并运行很长时间?
启动JBoss的最好方法是在没有睡眠的情况下启动服务器一次,并让它运行数月或数年。这意味着它所部署的操作系统是稳定的,并且您的应用程序不会泄漏内存。你应该只关注JBoss以获取操作系统补丁和应用程序更新。
还有什么,你有一个问题,你应该深入解决。
你可以查询你的日志文件,并检查该行
ServerImpl.info: JBoss.*Started in
和投票之间长裤睡觉例如:
LOG_FILE=/path/to/jboss.log
start_info=''
while [[ ! -n "${start_info}" ]]; do
start_info=`grep "ServerImpl.info: JBoss.*Started in" $LOG_FILE`
sleep 10
done
我编辑了我的问题,你的意思是这样吗?而不是轮询日志文件,如果我正确理解你的话,它的基本原理基本相同 – ant 2010-10-15 12:14:32
@ c0mrade号我想过检查你的JBoss日志文件。例如使用'grep'命令。我相应地调整了我的答案。 – kraftan 2010-10-15 12:51:17
+1非常棒的答案,就是我在找的东西。虽然你可以替换'[[!! -n $ start_info]]''''['-z $ start_info]''。 – helpermethod 2012-09-10 09:52:44
的JBoss Maven plugin有start-and-wait
目标这确实你在找什么由通过JNDI端口检查服务器状态。如果这听起来很有吸引力,那么您可以查看源代码,看看它如何发挥作用。
tnx彼得我可以做到这一点,是Java还是? – ant 2010-10-15 12:15:03
@ c0mrade,是的,请参阅http://mojo.codehaus.org/jboss-maven-plugin/source-repository.html – 2010-10-15 12:28:36
为什么这被封闭为不具建设性? – helpermethod 2012-09-10 08:39:48