高级java开发必须掌握的Spring接口——SmartLifecycle

时间:2020-09-17 19:44:00   收藏:0   阅读:35
技术图片

有些场景我们需要在Spring 所有的bean 完成初始化后紧接着执行一些任务或者启动需要的异步服务。常见有几种解决方案

这里介绍一下第三种 SmartLifecycle

SmartLifecycle 不仅仅能在初始化后执行一个逻辑,还能再关闭前执行一个逻辑,比如你一个服务在启动时向服务注册发现中心发一个信号告诉它服务上线了,下线前通知它你下线了。也就是实现了一个 从生到死 的轮回。

话不多说先实现一个SmartLifeCycle

技术图片

我们发现实现类需要实现3个方法,但是这3个方法并不是SmartLifecycle的方法而是

 org.springframework.context.Lifecycle

的方法:

技术图片

我们来启动一下springboot应用测试一下,下图说明 start在应用启动前执行了

技术图片
然后我们写一个springmvc 接口来关闭应用,下面的关闭方法写的比较粗糙,当然有更高级的玩法。

技术图片

我们调用 /life/destroy 方法 ,会出现下面的结果

技术图片

这里介绍它的一些使用方法和场景,先学会使用,更深层次的留给你自己去挖掘。

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!