美文网首页
Apollo单体项目properties配置搬迁

Apollo单体项目properties配置搬迁

作者: 吕小凯 | 来源:发表于2019-06-20 14:44 被阅读0次

    Apollo安装完成后在Spring项目里面配置Listener监听器
    如配置一个监听器如下:

     <listener>
            <listener-class>com.xiaokai.listener.StartupListener</listener-class>
     </listener>
    

    编写启动执行方法(增加打印方法用以调试,完成后可自行删除)

    public class StartupListener extends ContextLoaderListener {
         @Override
        public void contextInitialized(ServletContextEvent event) {
            System.out.println("项目启动");
            String apolloEnvironment = System.getProperty("environment");
            String apolloUsername = System.getProperty("name");
            String apolloPassword = System.getProperty("password");
            System.out.println("Apollo的帐号为:" + apolloUsername);
            System.out.println("Apollo的密码为:" + apolloPassword);
            System.out.println("Apollo当前配置环境为:" + apolloEnvironment);
            ApolloConfigUtils.doApolloEnvironmentApi(apolloEnvironment, apolloUsername, 
            apolloPassword, "redxun.properties");
            WebAppUtil.init(event.getServletContext());
            super.contextInitialized(event);
        }
    
        @Override
        public void contextDestroyed(ServletContextEvent event) {
            super.contextDestroyed(event);
        }
    }
    

    原理:Web项目启动会优先加载监听器,然后通过Java Api方式获取到对应的Config配置信息注入到properties里面,这样就可以在程序每次启动前从配置中心拿到最新的数据.
    不足:此方法不支持热部署,需要实现热部署请参阅properties热部署即可.

    相关文章

      网友评论

          本文标题:Apollo单体项目properties配置搬迁

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