等到雄猫完成启动

2022-09-01 11:43:06

我有一个脚本,需要在tomcat完成启动并准备开始部署应用程序后运行。我正在使用哪个立即返回。我该如何等到雄猫完成启动?$TOMCAT_HOME/bin/startup.sh


答案 1

可能有几种方法可以做到这一点。我们使用的技巧是:

#!/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!

希望这有帮助!


答案 2

以编程方式实施并不难。你可以实现 org.apache.catalina.LifecycleListener,然后你就会有

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只雄猫之间有所不同。


推荐