Можно ли получить полный URL-адрес веб-приложения из службы Spring, которая вызывается задачей?

У меня есть служба, которая вызывается не по запросу пользователя, а по задаче. Теперь мне нужно отправить электронное письмо из этой задачи, и электронное письмо содержит ссылку на мое веб-приложение, как я могу получить полный URL-адрес своего приложения, чтобы мое электронное письмо могло ссылаться на мое веб-приложение?

Пример услуги:

@Service
public class MyService {

    @Scheduled(cron="0 */10 * * * *")
    @Transactional
    public void myTask() throws IOException, ParseException
    {
        // Now I have to send email with my app url, but how can I get it here ?
    }

}

person newbie    schedule 18.02.2011    source источник


Ответы (1)


Вы не можете этого сделать, так как веб-приложение фактически не знает своего собственного доменного имени. Он может извлечь только доменное имя, используемое для отправки запроса, из этого запроса.

Поэтому доменное имя вашего приложения должно быть частью конфигурации, и ваша задача должна получить его оттуда.

person axtavt    schedule 18.02.2011