是否可以从任务调用的Spring服务获取Web应用程序的完整URL?

时间:2011-02-18 10:31:45

标签: java spring-mvc scheduled-tasks

我的服务不是由用户请求调用,而是由任务调用。现在我需要从此任务发送电子邮件,并且电子邮件包含指向我的Web应用程序的链接,如何获取应用程序的完整URL以便我的电子邮件可以链接回我的Web应用程序?

服务示例:

@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 ?
    }

}

1 个答案:

答案 0 :(得分:1)

您不能这样做,因为Web应用程序实际上不知道自己的域名。它只能提取用于从该请求发送请求的域名。

因此,应用程序的域名应该是配置的一部分,您的任务应该从那里获取。