我正在使用RDBMS(特别是mysql),我有一个包含日期列的表。
我想知道的是,当日期到期时(如果已经过了一段时间,我怎么能在我的程序中触发事件(我一起使用Springboot,mysql,Apache Camel和Kafka))日期)。
编辑:对于其他上下文,我正在寻求实施一个提醒系统,该系统将在某个时间过后触发
答案 0 :(得分:0)
我通过使用camel的quartz2组件轮询数据库来实现解决方案,运行sql查询以检查具有过期日期的条目。
查询看起来像这样,你可以在条目过期之前改变INTERVAL的时间:
"SELECT entryID, submittedDate FROM db.tablename WHERE submittedDate + INTERVAL 7 DAY<= CURDATE()";
我的骆驼路线:
from("quartz2://YourGroup/YourDBpoller?cron=0+0/1+11-18+?+*+MON-FRI")
.to("bean:sqlBean?method=pollDB()").to("jdbc:datasource")
.convertBodyTo(String.class).process(new Processor() { ...})
在我的情况下,我只要求每天轮询一次数据库,但是如果需要实时监控,那么这可能不合适。