springboot+springcloud微服务模块启动完成后自动执行指定的一段代码去完成一些事情

最近在项目开发过程中遇到一个问题:服务重启后,存储在redis上的ticket没有清除,我需要在项目重启后及时删除这个ticket.

具体实现如下:

有两种方法:

第一种:

实现ApplicationRunner接口

第二种:

实现CommandLineRunner接口

我这里使用的是第一种方法,非常简单,直接看代码就能懂了.

@Component
public class AfterServiceStarted implements ApplicationRunner {

    /*获取日志对象*/
    private Logger logger =  LoggerFactory.getLogger(AfterServiceStarted.class);
    @Autowired
    private RedisService redisService;

    /**
     * Callback used to run the bean.
     *
     * @param args incoming application arguments
     * @throws Exception on error
     */
    @Override
    public void run(ApplicationArguments args) throws Exception {
        redisService.dels(CommonConfig.REDIS_TICKET_PREFIX);
        logger.info("服务器重启完成调用【AfterServiceStarted.run】方法");
    }
}

测试通过!

你可能感兴趣的:(springboot+springcloud微服务模块启动完成后自动执行指定的一段代码去完成一些事情)