jackleeonlyone
2017-11-16 07:57
采纳率: 30.8%
浏览 3.7k

java 怎么样让代码一天就执行一次,根据时间,前提 不能使用任务调度,来吧大神们

java 怎么样让代码一天就执行一次,根据时间来判断,前提 不能使用任务调度,因为在前端这个页面每三分钟刷新一次,访问的jsp其中有些方法不需要执行,这些方法一天执行一次就可以

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

9条回答 默认 最新

  • 奔跑的小鱼儿 2017-11-16 08:03

    这种钻牛角尖的问题,悬赏不够

    评论
    解决 无用
    打赏 举报
  • 不用任务调度,用多线程写个无限循环,在里面根据你给定时间,隔一段时间我就运行去检查下,到了你指定的时间,我就执行你所要执行的任务,这样符合你的要求吗?

    评论
    解决 无用
    打赏 举报
  • 以伽利略之名 2017-11-16 11:26

    设置个开关,第一次刷新,开关=true,方法执行一次,之后开关=false关闭,每次刷新检测过了一天没有,过了就打开开关=tru

    评论
    解决 无用
    打赏 举报
  • 叮咚呛咚呛 2017-11-17 01:40

    spring/applicationContext.xml中配置定时器 定时每天执行一次不就行啦

      <task:scheduled-tasks>    
            <!-- ref是工作类  method是工作类中要执行的方法      cron是执行时间     0 0 0 * * ?是每天0点执行一次   0 */1 * * * ? 一分钟一次 -->    
            <task:scheduled ref="recycleTask" method="removeRecycle" cron="0 0 0 * * ?"/>    <!-- 定时器 :回收站-->
            <task:scheduled ref="messageTask" method="removeMessage" cron="0 0 0 * * ?"/>    <!-- 定时器 :消息盒子-->
        </task:scheduled-tasks>    
    
    评论
    解决 无用
    打赏 举报
  • 一名假程序员 2017-11-17 02:10

    循环加上一个计时就好了,到了标记的点就结束

    评论
    解决 无用
    打赏 举报
  • flybridy 2017-11-17 02:18

    现成的quartz 包。新建个job,里面放个task就好了。这种周期性进行刷新和执行的,很多项目用得很普遍。很成熟的东西

    评论
    解决 无用
    打赏 举报
  • Drizzly_ 2017-11-17 06:19

    不用纠结。这个问题很简单。 利用缓存+过期时间。

    1. 第一次被调用,查找缓存,无数据,执行此函数 , 并将结果放入 内存中(一个对象,静态变量都行) 并写入一个字段过期时间(当前时间+24小时)。
    2. 第二次 调用 查找缓存,有数据,判断过期时间。未过期返回结果, 过期 重复 上述 1 操作。

    评论
    解决 无用
    打赏 举报
  • 西部落酋长 2017-11-18 03:17

    你可以每次都访问数据库时间,存一个时间,对比时间来实现

    评论
    解决 无用
    打赏 举报
  • qq_35882993 2017-11-18 11:03

    自己开一个线程, 线程里面写个循环 计算出你的间隔时间, 循环完一次 线程睡眠对应的间隔时间.

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题