Heim > Java > javaLernprogramm > So lösen Sie das Problem, dass geplante Aufgaben in Springboot nicht rechtzeitig ausgeführt werden

So lösen Sie das Problem, dass geplante Aufgaben in Springboot nicht rechtzeitig ausgeführt werden

WBOY
Freigeben: 2023-05-13 21:10:12
nach vorne
2470 Leute haben es durchsucht

@schedule-Annotation ist eine häufig verwendete Annotation für geplante Aufgaben. Sie ist einfach und bequem zu verwenden. Wenn jedoch viele geplante Aufgaben vorhanden sind oder einige Aufgaben sehr zeitaufwändig sind, wirkt sich dies auf die Ausführung anderer aus Geplante Aufgaben, da der Zeitplan standardmäßig Single-Thread ist, können andere Aufgaben nicht ausgeführt werden. Die Lösung besteht darin, den Zeitplan neu zu konfigurieren und ihn auf Multi-Thread-Ausführung umzustellen. 🎜🎜#

import org.springframework.boot.autoconfigure.batch.BatchProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.config.ScheduledTaskRegistrar;
import java.lang.reflect.Method;
import java.util.concurrent.Executors;
@Configuration
public class ScheduleConfig implements SchedulingConfigurer {
  @Override
  public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
    Method[] methods = BatchProperties.Job.class.getMethods();
    int defaultPoolSize = 3;
    int corePoolSize = 0;
    if (methods != null && methods.length > 0) {
      for (Method method : methods) {
        Scheduled annotation = method.getAnnotation(Scheduled.class);
        if (annotation != null) {
          corePoolSize++;
        }
      }
      if (defaultPoolSize > corePoolSize)
        corePoolSize = defaultPoolSize;
    }
    taskRegistrar.setScheduler(Executors.newScheduledThreadPool(corePoolSize));
  }
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem, dass geplante Aufgaben in Springboot nicht rechtzeitig ausgeführt werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage