Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中创建自己的日历提醒?_Java - Fatal编程技术网

如何在Java中创建自己的日历提醒?

如何在Java中创建自己的日历提醒?,java,Java,我们的web应用程序中有一个日历。可以将事件添加到日历中,事件将有一些开始日期和结束日期 事件还可以有一个提醒。因此,在添加事件时,如果用户决定通过提醒电子邮件通知事件,则用户可以在事件中设置提醒值。类似于我们的产品 例如,事件名称:每周会议 开始日期:3月1日上午10时 提醒:1小时(可以是15分钟、30分钟、1小时、2小时、1天、2天等) 因此,在这种情况下,应在事件发生前,即事件发生前1小时,向用户发送电子邮件 数据库中的事件表具有事件名称、开始日期和提醒 如何在Java中实现这一点 您可

我们的web应用程序中有一个日历。可以将事件添加到日历中,事件将有一些开始日期和结束日期

事件还可以有一个提醒。因此,在添加事件时,如果用户决定通过提醒电子邮件通知事件,则用户可以在事件中设置提醒值。类似于我们的产品

例如,事件名称:每周会议

开始日期:3月1日上午10时

提醒:1小时(可以是15分钟、30分钟、1小时、2小时、1天、2天等)

因此,在这种情况下,应在事件发生前,即事件发生前1小时,向用户发送电子邮件

数据库中的事件表具有事件名称、开始日期和提醒


如何在Java中实现这一点

您可能希望运行一个计划作业,检查事件和提醒,并在必要时发送电子邮件


如果您使用的是像JBoss这样的应用服务器,那么您可以使用(JBoss通常已经包含quartz的一个版本)。然后将作业设置为以最低提醒粒度运行,例如每15分钟运行一次。

如果不想使用外部计划程序,可以使用Java。您需要实现TimerTask接口,并根据需要的频率使用计时器对其进行调度。TimerTask只需查询数据库即可获取所有即将发生的事件并发送电子邮件

要获取所有即将发生的事件,请为数据库使用适当的SQL语法-

地点(开始日期-今天)< 催款单


要发送电子邮件,请使用。

现代方式:您可以将您的web应用程序与一些云提醒服务(Google calendar、RTM、ToodleDo等)集成。Google calendar的日历服务有Java API,其他日历服务也有有用的API。

我们将使用quartz和spring集成来安排通知电子邮件。真正的问题是准确地获取即将到来的事件。什么是获得通知事件的正确查询?@rahulmohan我是否必须为每个提醒\ U预付款运行单独的查询?i、 e.一个查询,用于检查在接下来的15分钟内是否有事件,另一个查询30分钟,依此类推,1天、2天等等?@Ashish:不,您只需要一个查询“SELECT*FROM events WHERE START\u DATE-SYSDATE