当前位置: 首页 > 知识库问答 >
问题:

Spring Boot:在用户输入的特定日期执行作业

端木淇
2023-03-14
@Component
public class JobScheduler{

    @Autowired
    JobController controller;
    // Retrieving the Date entered by the user
    controller.getDateForExecution();  // 2016/05/24 10:00 for example

    @Scheduled(???)
    public void performJob() throws Exception {
        controller.doSomething();
    }

共有1个答案

苏淇
2023-03-14

Spring具有您可以使用的TaskScheduler抽象:http://docs.Spring.io/Spring/docs/current/spring-framework-reference/html/scheduling.html#scheduling-task-scheduler

它有一个方法来安排runnable在某个日期执行

ScheduledFuture schedule(Runnable task, Date startTime);

可能有点偏离主题:如果jobcontroller是Springcontroller(或restcontroller),我就不会自动将其加入jobscheduler。我将对其进行反向操作,并将JobScheduler注入到JobController中。

 类似资料:
  • 如何: 在几个月的特定日期安排工作? 大约有10天。 其次是有一个模拟cron的工具,这样你就可以传递日期/时间,工具会告诉你是否触发了cron触发器

  • 问题内容: 我想通过接受用户的日期字段(格式为YYYY-MM-DD)来运行jenkins作业 。我找到了一个链接,用户可以在其中输入字符串参数: stringparameter: But in string param user can enter any thing. So how do I force user to enter a date field like a calender fie

  • 问题内容: 我在Windows上工作。我想每10秒执行一次函数foo()。 我该怎么做呢? 问题答案: 在的末尾,创建一个在10秒后Timer调用自身的。 因为,Timer创建一个新的thread要调用。 你可以做其他事情而不会被阻止。

  • 我创建了一个jquery DatePicker。我希望用户选择大于或等于当前日期的日期,所以我使用了。这将禁用所有以前的日期。 但是,通过输入字段,用户可以键入上一个日期。如何禁用输入字段而不禁用DatePicker?

  • 问题内容: 这是我的SQL Server表 这似乎很容易做到,但我不知道为什么会被卡住。我只想为每个id选择max(date)和该max(date)处的值。我想忽略相对于每个ID而言不是max(date)的所有其他日期。 这是我希望表格看起来像的样子: 我尝试通过使用max(date)进行分组,但没有进行任何分组。我不确定自己在做什么错。在此先感谢您的帮助! 问题答案: 您可以使用以下内容: 观看