Я пишу веб-приложение Java с помощью Spring MVC. У меня есть фоновый процесс, который проходит через базу данных и находит уведомления, которые должны быть отправлены по электронной почте моим пользователям. Эти сообщения электронной почты должны включать гиперссылки в приложение. Это похоже на довольно распространенный шаблон для веб-приложения, но у меня проблемы.
Как получить полный URL моего приложения с именем сервера и контекстом? У меня нет доступа к каким-либо из методов в HttpServletRequest, потому что я запускаю это как фоновый процесс, а не в ответ на веб-запрос. Лучшее, что я могу сделать, это получить доступ к ServletContext.
В настоящее время я помещаю базовый URL-адрес в файл конфигурации и читаю его при запуске, но это приложение будет лицензировано и развернуто на серверах приложений клиентов, и, если возможно, я бы хотел, чтобы им не приходилось настраивать это вручную.