SpringBoot自定义监听器来实现消息的推送与接收

SpringBoot自定义监听器来实现消息的推送与接收

一、自定义【监听事件】继承ApplicationEvent

public class EmailEvent  extends ApplicationEvent {

    @Setter
    @Getter
    private String email;

    @Setter
    @Getter
    private String content;

    public EmailEvent(Object source,String email, String content){
        super(source);
        this.email = email;
        this.content = content;
    }

    public EmailEvent(Object source) {
        super(source);
    }
}

二、自定义【监听器】实现,ApplicationListener 【容器监听者】注册事件

接收消息:

@Component
public class EmailListener implements ApplicationListener<EmailEvent> {

    @Override
    public void onApplicationEvent(EmailEvent emailEvent) {
        Object source = emailEvent.getSource();
        /**
         *  邮件监听器,一旦有邮件事件,则会触发此处,接收到消息
         */
        System.out.println("邮件地址:" + emailEvent.getEmail());
        System.out.println("邮件内容:" + emailEvent.getContent());
    }

}

三、WebApplicationContext 来推送事件

webapplicationcontext来推送事件消息:

@RunWith(SpringRunner.class)
@SpringBootTest
public class ApplicationTest {

    @Autowired
    private WebApplicationContext webapplicationcontext;

    /**
     *  测试自定义监听器
     */
    @Test
    public void listenerTest(){
        EmailEvent emailEvent = new EmailEvent("object", "test@qq.com", "邮件内容");
        webapplicationcontext.publishEvent(emailEvent);
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值