tmgod
2011-09-01 17:27
浏览 225
已采纳

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如何取得,求解?

谢谢了

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • jep1983 2011-09-02 13:47
    已采纳
    已采纳该答案
    打赏 评论
  • rainbow702 2011-09-01 17:31

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

    打赏 评论
  • li28544071 2011-09-01 19:47

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

    打赏 评论
  • iteye_9505 2011-09-01 21:41

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

    打赏 评论
  • jep1983 2011-09-02 13:50
    打赏 评论

相关推荐 更多相似问题