NotifierConfig.java 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package com.yihu.admin.config;
  2. import com.yihu.admin.email.JKZLMailNotifier;
  3. import de.codecentric.boot.admin.config.NotifierConfiguration;
  4. import de.codecentric.boot.admin.notify.RemindingNotifier;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.boot.autoconfigure.AutoConfigureAfter;
  7. import org.springframework.boot.autoconfigure.AutoConfigureBefore;
  8. import org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration;
  9. import org.springframework.boot.context.properties.ConfigurationProperties;
  10. import org.springframework.context.annotation.Bean;
  11. import org.springframework.context.annotation.Configuration;
  12. import org.springframework.context.annotation.Primary;
  13. import org.springframework.mail.MailSender;
  14. import org.springframework.scheduling.annotation.Scheduled;
  15. import java.util.concurrent.TimeUnit;
  16. /**
  17. * Created by chenweida on 2018/5/10 0010.
  18. */
  19. @Configuration
  20. @AutoConfigureAfter({MailSenderAutoConfiguration.class})
  21. @AutoConfigureBefore({NotifierConfiguration.MailNotifierConfiguration.class})
  22. public class NotifierConfig {
  23. @Autowired
  24. private MailSender mailSender;
  25. @Bean
  26. @Primary
  27. public RemindingNotifier remindingNotifier() {
  28. RemindingNotifier remindingNotifier = new RemindingNotifier(mailNotifier());
  29. //默认情况下,每5分钟发送一次提醒
  30. remindingNotifier.setReminderPeriod(TimeUnit.MINUTES.toMillis(5));
  31. return remindingNotifier;
  32. }
  33. public NotifierConfig() {
  34. System.out.println("初始化数据");
  35. }
  36. @Bean("mailNotifier")
  37. @ConfigurationProperties("spring.boot.admin.notify.mail")
  38. public JKZLMailNotifier mailNotifier() {
  39. return new JKZLMailNotifier(mailSender);
  40. }
  41. }