gpt4 book ai didi

java - java中如何在特定的日期和时间触发事件?

转载 作者:行者123 更新时间:2023-12-02 15:27:38 25 4
gpt4 key购买 nike

我需要在特定日期和时间向几个手机号码发送短信。例如我将有一个日期和时间列表以及相应的手机号码列表。如下。

Date                Mobile
10th April 9 AM 1234567890
10th April 11 AM 9987123456,9987123457
11th April 3.30 PM 9987123456

等等。

我知道,java 有 cron 调度程序,可以按特定的时间表运行。

http://www.quartz-scheduler.org/documentation/quartz-2.x/tutorials/crontrigger.html

我可以运行一个可以继续检查时间的作业,然后如果当前时间与上面列表中的时间匹配,则发送短信。

但在这种情况下,我必须一直检查。

有什么办法,我可以在给定时间直接触发这些事件/短信。比如为每个日期时间注册作业并在当时触发这些作业,而不是让作业连续运行来检查日期时间?

最佳答案

您可以使用ScheduledExecutorService 。请参阅Tutorial .

 private class SmsSenderTask implement Runnable {
private String text;
private List<String> phoneNumbers;

public void run() {
for (String number : phoneNUmbers) {
sendSms(number, text);
}
}
}

ScheduledExecutorService service = Executors.newScheduledThreadPool(1);
for (Date d : dates) {
long millis = d.getTime() - System.currentTimeMillis();
service.schedule(new SmsSenderTask(text, phoneNumbers), millis, TimeUnit.MILLISECONDS);
}

关于java - java中如何在特定的日期和时间触发事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43289895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com