javalinuxtomcat

Wait until tomcat finishes starting up


I have a script that needs to run after tomcat has finished starting up and is ready to start deploying applications. I'm using $TOMCAT_HOME/bin/startup.sh which returns immediately. How can I wait until tomcat has finished starting up?


Solution

  • There are probably several ways to do this. The trick we use is:

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

    Hope this helps!