JAVA 调度程序模式:如何检查当前日期时间是否与模式匹配
我想知道如何在 JAVA 中对日期时间进行一些模式匹配。我有一个数据库,其中有一些需要安排的条目。
基本上,我有一个每 30 分钟运行一次的程序。在这个程序中(我拥有代码),如果当前日期/时间与记录的调度程序匹配,我想对字段(尚不存在)上的数据库记录进行检查。
调度程序选项的示例应该类似于: - 每天+指定时间 - 每周+指定时间 - 每月+指定时间 - 每个星期一或星期二或星期三或...在给定时间
我应该如何存储调度程序模式值(字符串,日期时间,?)并在我的JAVA代码中进行比较以查看它是否匹配?
谢谢
I'm wondering how to do some pattern matching in JAVA for date time. I have a database which has some entries that need to be scheduled.
Basically, I have a program that runs each 30 minutes. Inside this program (I own the code) I want to do a check against the database records on a field (non existent yet) if the current date / time matches the record's scheduler.
Examples of scheduler option should be something like:
- daily + given hour
- weekly + given hour
- monthly + given hour
- each Monday or Tuesday or Wednesday or ... at given hour
How should I store the scheduler pattern value (string, datetime, ?) and do the comparison inside my JAVA code to see if it matches?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
RFC 2445 对于处理调度和重复应该很有用。这是一个 Java 库 http://code.google.com/p/google-rfc -2445/。
您可以将重复规则存储为 RRULE 格式的文本,然后使用库对其进行解析以计算下一个重复日期/时间。
以相反的方式更改应用程序逻辑也应该很有用 - 在特定的计算时间安排执行,而不是每 30 分钟执行一次,尝试将当前时间与重复模式匹配。
RFC 2445 should be useful to deal witch scheduling and recurrence. Here is a java library http://code.google.com/p/google-rfc-2445/.
You could store recurrence rules as a text in RRULE format, then parse it with the library to calculate the next recurrence date/time.
It should also be useful to change the app logic the other way around - to schedule execution at the specific calculated time, not to execute every 30 minutes trying to match the current time with recurrence patterns.