Spring + quartz 定时任务疑惑

问题描述:

问题如下:
现在想使用Spring + quartz配置来实现定时任务。定时任务是在每周日24点从数据库获取数据,
项目采用ssh,定时任务TimerTask,要通过DAO操作来获取数据
1.如何通过getBean来获取数据库操作事务对象,我是这样做的
[code="java"]
public WebContext ctxDwr = WebContextFactory.get();

protected Object getBean(String id) {
    WebApplicationContext ctx = WebApplicationContextUtils
            .getWebApplicationContext(ctxDwr.getServletContext());

    return ctx.getBean(id);
}

[/code]
这种方式应该可行吧。
请问有什么其他方法吗?
2.定时任务中要获取项目访问url,不知道有什么方法来实现?
[code="java"]
String ipAddress = "http://" + request.getLocalAddr() + ":"
+ request.getLocalPort() + request.getContextPath()
+ "/";
[/code]
这个request如何取得,求解?

谢谢了

第二点你可以这么来
[quote]
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+contextPath+"/";
[/quote]

最好说明一下你为什么要获取项目访问url?或者可以换一种方式实现。
说白了就是quartz是一个定时的任务,与B/S、C/S项目结构没有关系的。

既然能取到WebContext ,用它应该也能取到吧。要不就把quartz的启动放到listenner里面。