apollo命令行传入参数

时间:2021-11-09 14:30:09

Java apollo客户端运行配置

 

需要在META-INF中创建app.properties文件,以配置app.id

还需要在/opt/settings/server.properties或C:/opt/settings/server.properties

为实现通过命令行参数传入控制这些参数,可以在main方法中加入以下代码:

boolean isLocal = false;
        if (args != null && args.length > 0) {
            for (String arg : args) {
                if (arg.toLowerCase().contains("spring.profiles.active")) {
                    String[] argArray = arg.split("=");
                    if (argArray.length == 2) {
                        if (Objects.equals(argArray[1].toLowerCase(), "dev")) {
                            isLocal = true;
                        }
                    }
                } else if (arg.toLowerCase().contains("app.id")) {
                    //解决动态传入Apollo应用Id
                    String[] argArray = arg.split("=");
                    if (argArray.length == 2) {
                        if (argArray[1] != null && argArray[1].equals("")) {
                            System.setProperty("app.id", argArray[1]);
                        }
                    }
                } else if (arg.toLowerCase().contains("env")) {
                    //解决动态传入Apollo 配置环境
                    String[] argArray = arg.split("=");
                    if (argArray.length == 2) {
                        if (argArray[1] != null && argArray[1].equals("")) {
                            System.setProperty("env", argArray[1]);
                        }
                    }
                }else if (arg.toLowerCase().contains("idc")) {
                    //解决动态传入Apollo 数据中心
                    String[] argArray = arg.split("=");
                    if (argArray.length == 2) {
                        if (argArray[1] != null && argArray[1].equals("")) {
                            System.setProperty("idc", argArray[1]);
                        }
                    }
                }
            }
        }