So here you have a couple of options.
The simplest one of to use the LifecycleListener that listens for the applicationReady event and then starts a thread that polls the other app until the other app is ready and it retries as long as it gets http errors when calls the other app. But you should sleep (for example 1 sec) between the calls, otherwise you will produce so much load that the other app will have a hard time to finish its deployment.
After the http call to the other app was a success the polling thread finishes.
Another solution is to use things an event server like rabbitMQ and you send a message like "I'm ready" to a queue and the other app fetches the mesage when it's ready. But you need a persistet queue, so the message is not lost when the other app is not there yet and the queue needs to be cleared afterwards etc.
I think I'd try the thread polling first.