java等待tomcat完成启动 1 周 Questions & Answers 17949 我有一个脚本需要在tomcat完成启动并准备开始部署应用程序后运行。我正在使用立即返回的$TOMCAT_HOME/bin/startup.sh。我怎样才能等到tomcat完成启动
# 1 楼答案 通过编程实现并不难。您可以实现org。阿帕奇。卡塔琳娜。生命周期,然后你就有了 public void lifecycleEvent(LifecycleEvent lifecycleEvent) { if(lifecycleEvent.getType().equals(Lifecycle.START_EVENT)) //do what you want } } 在网上。xml: <Context path="/examples" ...> ... <Listener className="com.mycompany.mypackage.MyListener" ... > ... </Context> 请注意,6-9只雄猫之间可能存在一些差异
# 2 楼答案 这取决于你所说的完成。你想等什么 例如,你可以让一个脚本反复点击一个URL,直到它得到一个理想的结果,而这个结果只有在应用程序正确初始化后才可用 您还可以有一个上下文侦听器,它写出一个“我准备好了”文件,您可以用它来表示应用程序已经准备就绪。(如果执行此操作,请在启动应用程序容器之前确保该文件不存在)
# 3 楼答案 我需要这个从jenkins测试远程服务器的tomcat是否启动进行系统检查 until [[ `ssh -o StrictHostKeyChecking=no root@${DEPLOY_HOST} 'netstat -tulpn | grep 8005'` != "" ]] ; do echo "waiting for tomcat"; sleep 6; done
# 5 楼答案 可能有几种方法可以做到这一点。我们使用的技巧是: #!/bin/bash until [ "`curl --silent --show-error --connect-timeout 1 -I http://localhost:8080 | grep 'Coyote'`" != "" ]; do echo --- sleeping for 10 seconds sleep 10 done echo Tomcat is ready! 希望这有帮助
# 6 楼答案 没有一个简单的方法。至于启动。她和卡塔琳娜。当他们结束时,tomcat正在运行。尽管在内部,tomcat仍在初始化和启动上下文 如果你想知道你的上下文是否已经加载完毕,或者你只是想要一个通用的“Tomcat正在运行,尽管你的上下文可能还没有完全加载……”,这会很有帮助 如果是后者,您可以创建一个web应用程序,该应用程序仅具有一个上下文侦听器,该侦听器将使用运行时执行脚本。如果您很方便,可以通过web配置webapp。xml文件,以接受指向要执行的脚本的参数
# 1 楼答案
通过编程实现并不难。您可以实现org。阿帕奇。卡塔琳娜。生命周期,然后你就有了
在网上。xml:
请注意,6-9只雄猫之间可能存在一些差异
# 2 楼答案
这取决于你所说的完成。你想等什么
例如,你可以让一个脚本反复点击一个URL,直到它得到一个理想的结果,而这个结果只有在应用程序正确初始化后才可用
您还可以有一个上下文侦听器,它写出一个“我准备好了”文件,您可以用它来表示应用程序已经准备就绪。(如果执行此操作,请在启动应用程序容器之前确保该文件不存在)
# 3 楼答案
我需要这个从jenkins测试远程服务器的tomcat是否启动进行系统检查
until [[ `ssh -o StrictHostKeyChecking=no root@${DEPLOY_HOST} 'netstat -tulpn | grep 8005'` != "" ]] ; do echo "waiting for tomcat"; sleep 6; done
# 4 楼答案
你还在寻找答案吗?这取决于你对开始的定义。如果started的定义为“现在可以安全停止”,则可能需要验证端口8005是否正在侦听
# 5 楼答案
可能有几种方法可以做到这一点。我们使用的技巧是:
希望这有帮助
# 6 楼答案
没有一个简单的方法。至于启动。她和卡塔琳娜。当他们结束时,tomcat正在运行。尽管在内部,tomcat仍在初始化和启动上下文
如果你想知道你的上下文是否已经加载完毕,或者你只是想要一个通用的“Tomcat正在运行,尽管你的上下文可能还没有完全加载……”,这会很有帮助
如果是后者,您可以创建一个web应用程序,该应用程序仅具有一个上下文侦听器,该侦听器将使用运行时执行脚本。如果您很方便,可以通过web配置webapp。xml文件,以接受指向要执行的脚本的参数