E in tutto questo, cosa c'entrerebbero gli ApplicationListener?? Cioè ... di per sé non c'è alcun nesso.
Se un controller Spring vuole invocare un servizio su un altro host, lo puoi fare benissimo (in modo sincrono, così restituisce al client una response in base alla response che a sua volta ha avuto).
Cosa usare per fare la invocazione, dipende chiaramente dal servizio che l'altro host offre. Se fossero web service SOAP, allora dovresti usare una libreria di API Client SOAP, se fossero web service REST, allora una libreria API Client REST, ecc...
Al limite l'uso diretto delle API di networking del framework standard. Oppure la Apache HttpClient.