В Tomcat вы можете использовать собственный LifecycleListener , принадлежащий Tomcat.Если вы зарегистрируете прослушиватель для AFTER_START_EVENT на хост-компоненте, вы должны получить то, что вы хотите.
Пример кода LifecycleListener:
package my.sourcecode;
import org.apache.catalina.Lifecycle;
import org.apache.catalina.LifecycleEvent;
import org.apache.catalina.LifecycleListener;
public class TomcatHostLifecycleListener implements LifecycleListener {
@Override
public void lifecycleEvent(LifecycleEvent lifeCE) {
if (Lifecycle.AFTER_START_EVENT.equals(lifeCE.getType())) {
System.out.println("************ TomcatHostLifecycleListener: After Start Event");
}
}
}
Код должен быть помещен как JAR-Файл в глобальной папке lib Tomcat!
LifecycleListener должен быть зарегистрирован в Tomcats server.xml , в вашем случае внутри элемента host, потому что мы хотим слушать хостзапуск:
....
<Host ... >
<Listener className="my.sourcecode.TomcatHostLifecycleListener"/>
....
См. Lifecycle-Doc для получения дополнительной документации.
(протестировано с Tomcat 8.5.30 и Java 11)