瀏覽代碼

扩展源码 ,发送邮件可配置

chenweida 6 年之前
父節點
當前提交
36dccc9d08

+ 8 - 0
server/svr-admin-server/pom.xml

@ -35,6 +35,14 @@
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-server-ui</artifactId>
        </dependency>
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-server-ui-hystrix</artifactId>
        </dependency>
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-server-ui-turbine</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>

+ 0 - 1
server/svr-admin-server/src/main/java/com.yihu.admin/AdminServer.java

@ -1,6 +1,5 @@
package com.yihu.admin;
import com.yihu.admin.email.MyMailNotifier;
import de.codecentric.boot.admin.config.EnableAdminServer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;

+ 15 - 0
server/svr-admin-server/src/main/java/com.yihu.admin/config/NotifierConfig.java

@ -2,6 +2,7 @@ package com.yihu.admin.config;
import com.yihu.admin.email.JKZLMailNotifier;
import de.codecentric.boot.admin.config.NotifierConfiguration;
import de.codecentric.boot.admin.notify.RemindingNotifier;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
@ -9,7 +10,11 @@ import org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.mail.MailSender;
import org.springframework.scheduling.annotation.Scheduled;
import java.util.concurrent.TimeUnit;
/**
 * Created by chenweida on 2018/5/10 0010.
@ -21,6 +26,16 @@ public class NotifierConfig {
    @Autowired
    private MailSender mailSender;
    @Bean
    @Primary
    public RemindingNotifier remindingNotifier() {
        RemindingNotifier remindingNotifier = new RemindingNotifier(mailNotifier());
        //默认情况下,每5分钟发送一次提醒
        remindingNotifier.setReminderPeriod(TimeUnit.MINUTES.toMillis(5));
        return remindingNotifier;
    }
    
    public NotifierConfig() {
        System.out.println("初始化数据");
    }

+ 10 - 0
server/svr-admin-server/src/main/java/com.yihu.admin/email/JKZLMailNotifier.java

@ -72,10 +72,20 @@ public class JKZLMailNotifier extends MailNotifier {
        EvaluationContext context = new StandardEvaluationContext(event);
        SimpleMailMessage message = new SimpleMailMessage();
        //发送给别人  支持多个接收人
        message.setTo(to);
        //发送人 可配置
        message.setFrom(from);
        //发送的邮件名称  默认是 微服务ID + 状态
        // 例如
        // SPRING-CLOUD-SVR-SIMPLE1 (9ac26abe) is OFFLINE
        message.setSubject(subject.getValue(context, String.class));
        //邮件内容  默认是微服务 +状态
        // 例如
        // SPRING-CLOUD-SVR-SIMPLE1 (9ac26abe) status changed from UNKNOWN to OFFLINE
        // http://MS-20180328WODJ:8080/health
        message.setText(text.getValue(context, String.class));
        // 抄送  为null  不需要填写
        message.setCc(cc);
        sender.send(message);

+ 3 - 0
server/svr-admin-server/src/main/resources/application.yml

@ -25,6 +25,9 @@ spring:
        mail:
          to: 494679975@qq.com
          from: 1501877145@qq.com
      routes:
        endpoints: env,metrics,dump,jolokia,info,configprops,trace,logfile,refresh,flyway,liquibase,heapdump,loggers,auditevents,hystrix.stream.
  jackson:
    serialization:
      indent_output: true

+ 10 - 0
svr-lib-parent-pom/pom.xml

@ -102,6 +102,16 @@
                <artifactId>spring-boot-admin-server-ui</artifactId>
                <version>${version.spring-boot-admin}</version>
            </dependency>
            <dependency>
                <groupId>de.codecentric</groupId>
                <artifactId>spring-boot-admin-server-ui-hystrix</artifactId>
                <version>${version.spring-boot-admin}</version>
            </dependency>
            <dependency>
                <groupId>de.codecentric</groupId>
                <artifactId>spring-boot-admin-server-ui-turbine</artifactId>
                <version>${version.spring-boot-admin}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>