J'écris une application web Java en utilisant Spring MVC. J'ai un processus d'arrière-plan qui parcourt la base de données et trouve les notifications qui doivent être envoyées par e-mail à mes utilisateurs. Ces messages électroniques doivent contenir des hyperliens vers l'application. Cela semble être un modèle assez commun pour une application Web, mais j'ai des difficultés.
Comment puis-je dériver l'URL pleinement qualifiée de mon application, avec le nom du serveur et le chemin du contexte ? Je n'ai accès à aucune des méthodes de HttpServletRequest car je l'exécute en tant que processus d'arrière-plan, et non en réponse à une requête Web. Le mieux que je puisse faire est d'avoir accès à ServletContext.
Actuellement, je place l'URL de base dans un fichier de configuration et je la lis au démarrage, mais cette application va être licenciée et déployée sur les serveurs d'application des clients, et si possible, j'aimerais qu'ils n'aient pas à configurer cela manuellement.