java timer 怎么样能够重复利用

xuhesheng 2013-07-30 09:32:12
web项目已经基本建立好了
现在添加一个日程提醒的模块
里面定义每月执行一次的内容和仅仅执行一次的内容
每个日程都有自己执行的时间(执行时间精确到分钟就可以了)
日程定义在数据库中
在系统启动时我可以添加监听器读取数据库中全部的日程,并做提醒设置列表
我当然也可以同时开启N个定时器去执行每一个日程
但始终这样不太好,最好的解决方案是一个定时器,不断的去找最近一个需要执行的内容即可
所以有如下的问题就是
1.怎么样的代码能让某个定时器,按照每schule一次仅仅是执行最近的日程呢
2.数据库中的日程是可以变化的,那怎么维护定时器让它可以根据日程的提醒的变化而变化呢.(因为系统已经建立,请尽量不要说在日程提醒管理中激活一个什么标志或者信号之类的,个人不推荐对系统的"入侵")
希望大家轻点砸
...全文
332 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuhesheng 2013-08-02
  • 打赏
  • 举报
回复
引用 3 楼 canghaiguzhou 的回复:
1.怎么样的代码能让某个定时器,按照每schule一次仅仅是执行最近的日程呢 你可以查看一下java.util.Timer这个类的源码,里面维护了一个任务优先级队列,最近的任务将最先执行 2.数据库中的日程是可以变化的,那怎么维护定时器让它可以根据日程的提醒的变化而变化呢.(因为系统已经建立,请尽量不要说在日程提醒管理中激活一个什么标志或者信号之类的,个人不推荐对系统的"入侵") 如果日程的提醒时间有变化,重新设置任务的提醒时间,然后调整任务优先级队列即可,API都提供了这些操作
谢谢你的思路 我没采用 结合第一点和第二点我采用观察者模式完成任务 谢谢你
zx8813443 2013-07-30
  • 打赏
  • 举报
回复
1.怎么样的代码能让某个定时器,按照每schule一次仅仅是执行最近的日程呢 你可以查看一下java.util.Timer这个类的源码,里面维护了一个任务优先级队列,最近的任务将最先执行 2.数据库中的日程是可以变化的,那怎么维护定时器让它可以根据日程的提醒的变化而变化呢.(因为系统已经建立,请尽量不要说在日程提醒管理中激活一个什么标志或者信号之类的,个人不推荐对系统的"入侵") 如果日程的提醒时间有变化,重新设置任务的提醒时间,然后调整任务优先级队列即可,API都提供了这些操作
oh_Maxy 2013-07-30
  • 打赏
  • 举报
回复
想到个思路不晓得行不行: java.util.Timer这个类有各种操作方式:定时、间隔时间操作。然后在具体任务里,查数据库做判断,再实现相关功能。
金先生1 2013-07-30
  • 打赏
  • 举报
回复
我们以前会做一个系统功能,专门管理同步程序,还有配置是手动执行还是自动执行。

67,535

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧