【发布时间】:2015-02-01 21:31:02
【问题描述】:
我在 Java Web 应用程序中使用 @Scheduled 运行了一个线程,它需要运行它的服务器的当前 URL:
@Scheduled(cron = "0 0/5 * 1/1 * *")
public void processTask() {
// 1) Get the server URL.
// 2) Do some other work.
}
是否可以在不从属性文件(或其他文件)中获取 URL 的情况下执行此操作?
【问题讨论】:
-
服务器网址是什么意思?
-
请发表您的尝试。
-
Web 应用程序知道它的上下文,但这只是 URL 的一部分。方案 (http/https) 和权限 (hostname:port) 未知。房产可能是您最好的选择。
-
@Secondo :这个线程代码将在多个服务器上运行,并发送电子邮件,其中我需要指向发送邮件的服务器的链接。
-
首选属性文件的另一个原因 - Web 服务器和应用程序服务器可能位于不同的机器上。除非您以某种方式向其提供该信息,否则应用程序服务器(即您的应用程序)不可能知道这一点。
标签: java multithreading http server