Mon*_*key 2 java spring quartz-scheduler
我正在使用JBoss 4和Spring.在Web应用程序中,我使用Quartz调度程序来执行某些计划任务.在Quartz作业中,我想获得服务器路径是否可能?如果有,怎么样?
PS:某些上下文我需要Quartz作业中的服务器路径,因为该作业会发送电子邮件.电子邮件包含我的应用程序所服务的网站的链接,为了构建正确的URL,我需要一个服务器路径.硬编码服务器路径是禁忌,因为应用程序部署在各种服务器上.
Sea*_*oyd 10
从Quartz作业中获取数据是没有明智之举的,所以它必须是另一种方式.有一个全局配置bean,称之为ServerConfig或其他.让它实现ServletContextAware,然后在启动Web上下文时自动通知它.
public class ServerConfig implements ServletContextAware{
private String serverRootUrl;
public String getServerRootUrl(){ return serverRootUrl; }
public void setServletContext(ServletContext servletContext){
this.serverRootUrl=servletContext.getRealPath("/");
}
}
Run Code Online (Sandbox Code Playgroud)
现在只需将Bean注入Quartz作业类并用于serverConfig.getServerRootUrl()检索根URL.
| 归档时间: |
|
| 查看次数: |
4087 次 |
| 最近记录: |