ruoyi-vue-plus的日志打印是通过监听器实现的,和原版若依稍稍不同
找到登录时记录日志的方法
该方法如下
这里的参数LogininforEvent为消息类,注意,貌似高版本的spring定义消息类不需要继承ApplicationEvent类也行。直接使用普通实体类就行了
然后点击这个小耳机传送到处理器
这里就是处理事件方法了
注意这里有个异步注解。@Async。我之前在学习原版若依时分享过相关使用
若依学习——异步日志(若依的两个线程池)(LoggerFactory.getLogger(“sys-user“))
线程池的定义也和原版若依一样,不过这里第一个线程池没开启,在yml文件中设置关闭了
在AsyncConfig中配置了使用了系统定义的线程池,也就是我们刚刚上面定义的第二个线程池。第一个线程池默认被关闭了
我们来结合@EventListener监听器一起,来使用原本被关闭的第一个线程池。
首先把第一个线程池配置打开
然后调用一下自己定义个类来专门放定时任务,注意如果 @Async()没有指定的话,由于在AsyncConfig类当中的配置,默认使用testScheduledExecutorService线程池(也就是下面定义的第一个方法),
然后在threadPoolTaskExecutor线程池中的testThreadPoolTaskExecutor方法推送一个自己定义消息Mess
我们的可以试着把消息类继承一下ApplicationEvent类试试,然后写个方法进行监听,记得在方法上加上注解@EventListener
我们来在生成验证码时候来调用一下
符合预期要求,实验成功
相关链接
SpringBoot关于@Async线程池配置
Spring Event + DDD = 王炸!!