從0開始用kotlin作CRM之郵件系統--2.3配置定時執行

springboot作定進任務,比較簡單。java

  • 在applicatoin上加上註解 @EnableSchedulingspring

  • 在本身的方法上,加上 @Scheduled(fixedDelay = 10*1000 ) 就能夠每次執行完後,隔10秒,執行下一次了。 可是,如今我但願這個時間可配置springboot

  • 我在application.proterties中增長了自定義的一項。mail.schedule=10000bash

  • 在執行類中,增長 @ConfigurationProperties(prefix = "mail"),在執行方法上,改成 @Scheduled(fixedDelayString = "${mail.schedule}")app

  • kotlin的寫法,要在$前加,而後fixedDelay 要改成fixedDelayStringspa

@Component
@ConfigurationProperties(prefix = "mail")
class ScheduledTask {

    @Autowired
    lateinit var mailInboxService: MailReceiveUtils
    private val logger = LoggerFactory.getLogger(javaClass)

    @Scheduled(fixedDelayString = "\${mail.schedule}")
    fun receive() {

        MailServerApplication.data.forEach({
            mailInboxService.resceive(it)

        }

        )
    }

}
複製代碼
相關文章
相關標籤/搜索