美文网首页Spring Boot我爱编程
启动加载数据 CommandLineRunner

启动加载数据 CommandLineRunner

作者: wyatt_plus | 来源:发表于2018-03-31 23:05 被阅读107次

    我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求,为了解决这样的问题,在Spring Boot 中,实现接口 CommandLineRunner 即可。

    创建实现接口 CommandLineRunner 的类:

    /**
     * 监听完成时触发
     * 
     * @author : Fredia
     * @since : 2018年3月16日
     * @version : v1.0.0
     */
    @Configuration
    public class AuthClientRunner implements CommandLineRunner {
    
        @Autowired
        private ServiceAuthConfig serviceAuthConfig;
        @Autowired
        private UserAuthConfig userAuthConfig;
        @Autowired
        private ServiceAuthFeign serviceAuthFeign;
    
        @Override
        public void run(String... args) throws Exception {
            log.info("初始化加载用户pubKey");
            try {
                refreshUserPubKey();
            }catch(Exception e){
                log.error("初始化加载用户pubKey失败,1分钟后自动重试!",e);
            }
            log.info("初始化加载客户pubKey");
            try {
                refreshServicePubKey();
            }catch(Exception e){
                log.error("初始化加载客户pubKey失败,1分钟后自动重试!",e);
            }
        }
     \    public void refreshUserPubKey(){
            BaseResponse resp = serviceAuthFeign.getUserPublicKey(serviceAuthConfig.getClientId(), serviceAuthConfig.getClientSecret());
            if (resp.getStatus() == HttpStatus.OK.value()) {
                ObjectRestResponse<byte[]> userResponse = (ObjectRestResponse<byte[]>) resp;
                this.userAuthConfig.setPubKeyByte(userResponse.getData());
            }
        }
     
        public void refreshServicePubKey(){
            BaseResponse resp = serviceAuthFeign.getServicePublicKey(serviceAuthConfig.getClientId(), serviceAuthConfig.getClientSecret());
            if (resp.getStatus() == HttpStatus.OK.value()) {
                ObjectRestResponse<byte[]> userResponse = (ObjectRestResponse<byte[]>) resp;
                this.serviceAuthConfig.setPubKeyByte(userResponse.getData());
            }
        }
    
    }
    
    

    相关文章

      网友评论

        本文标题:启动加载数据 CommandLineRunner

        本文链接:https://www.haomeiwen.com/subject/rqgncftx.html