Java 如何在运行时为特定时间安排执行方法

Java 如何在运行时为特定时间安排执行方法,java,spring-boot,schedule,Java,Spring Boot,Schedule,假设我有一些RESTAPI,其中参数是执行方法的时间,第二个参数是类中方法的名称。在SpringBoot应用程序中,在特定时间(仅一次)调用此方法的最佳方式是什么 首先,在spring boot应用程序中启用调度: @springboot应用程序 @使能调度 公共类应用程序{ // ... 然后,注入TaskSchedulerbean,并在用户每次调用REST方法时以编程方式安排任务: 公共类MyScheduler{ @自动连线 专用任务调度器; 公共无效scheduleNewCall(日期时

假设我有一些RESTAPI,其中参数是执行方法的时间,第二个参数是类中方法的名称。在SpringBoot应用程序中,在特定时间(仅一次)调用此方法的最佳方式是什么

首先,在spring boot应用程序中启用调度:

@springboot应用程序
@使能调度
公共类应用程序{
// ...
然后,注入
TaskScheduler
bean,并在用户每次调用REST方法时以编程方式安排任务:

公共类MyScheduler{
@自动连线
专用任务调度器;
公共无效scheduleNewCall(日期时间){
scheduler.schedule(this::scheduledMethod,dateTime);
}
public void scheduledMethod(){
//要运行的方法
}
}

但是,您还应该考虑限制对此方法的调用量,否则恶意用户可能会安排大量任务并使任务池溢出。

首先,在spring boot应用程序中启用调度:

@springboot应用程序
@使能调度
公共类应用程序{
// ...
然后,注入
TaskScheduler
bean,并在用户每次调用REST方法时以编程方式安排任务:

公共类MyScheduler{
@自动连线
专用任务调度器;
公共无效scheduleNewCall(日期时间){
scheduler.schedule(this::scheduledMethod,dateTime);
}
public void scheduledMethod(){
//要运行的方法
}
}

但是,您还应该考虑限制此方法的调用量,否则恶意用户可能会安排大量任务并使任务池溢出。

nice thx就是一个例子。我很好奇是否有比taskScheduler更好的方法。当然,还有一些身份验证,因此只有很少的管理员可以计划tasknice t以hx为例。我很好奇是否有比taskScheduler更好的东西。是的,还有一些身份验证,所以只有少数管理员可以计划任务