SchedulerConfig.java 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package com.its.traf.config;
  2. import com.its.traf.scheduler.JobScheduleInfo;
  3. import lombok.Getter;
  4. import lombok.Setter;
  5. import lombok.ToString;
  6. import lombok.extern.slf4j.Slf4j;
  7. import org.springframework.boot.context.properties.ConfigurationProperties;
  8. import org.springframework.context.annotation.Configuration;
  9. import javax.annotation.PostConstruct;
  10. import java.util.ArrayList;
  11. import java.util.List;
  12. @Slf4j
  13. @Getter
  14. @Setter
  15. @ToString
  16. @Configuration
  17. @ConfigurationProperties(prefix = "application.schedule")
  18. public class SchedulerConfig {
  19. private int poolCore = 0;
  20. public List<JobScheduleInfo> batchJobs = new ArrayList<>();
  21. @PostConstruct
  22. private void init() {
  23. log.info("before poolCore: {} EA.", this.poolCore);
  24. if (this.poolCore == 0) {
  25. log.info("{}, poolCore size set as default: {} EA.", this.getClass().getSimpleName(), this.poolCore);
  26. this.poolCore = Runtime.getRuntime().availableProcessors();
  27. }
  28. log.info("after. poolCore: {} EA.", this.poolCore);
  29. log.info("jobs: {} EA.", this.batchJobs.size());
  30. for (JobScheduleInfo info: this.batchJobs) {
  31. log.error("jobInfo: {}", info.toString());
  32. }
  33. }
  34. }