apollo命令行传入参数

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]);
                        }
                    }
                }
            }
        }

  

原文地址:https://www.cnblogs.com/lixx/p/10279309.html

时间: 2024-08-04 22:26:35

apollo命令行传入参数的相关文章

python 命令行传入参数

创建 test.py 文件,代码如下: #!/usr/bin/python # -*- coding: gbk -*- import sys print sys.argv if __name__=='__main__': print "Program name", sys.argv[0] for i in range(1, len(sys.argv)): print "arg%d"%i,sys.argv[i] 测试: python test.py 1 2 3 4 5

python命令行传入参数

1.sys import sys a=eval(sys.argv[1])b=eval(sys.argv[2]) print(a+b) 1    2    3    4    5    6 evel()函数是将字符串形式的int,字典等转化成对应真正的int,字典在这里插入图片描述 2.argparse(python自带库) import argparse parser = argparse.ArgumentParser(description="Demo of argparse")pa

记录一个 spring cloud 配置中心的坑,命令行端口参数无效,被覆盖

spring cloud 配置中心 结合GIT , 可以运行时更新配置文件.发送指令让应用重新读取配置文件. 最近在测试服务器实现了一套,结果CPU 实用率暴增,使用docker compose启动 restart always 多节点的服务一直重启关闭重启关闭. 日志文件记录了一个异常: 国内国外搜了一遍都没有解决 org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean wit

go语言 从命令行获取参数解析

go语言内置的flag包实现了命令行参数的解析,flag包使得开发命令行工具更为简单. os.Args 如果你只是简单的想要获取命令行参数,可以像下面的示例代码一样使用os.Args来获取命令行参数 package main import "fmt" import "os" func main(){ if len(os.Args)>0 { for index , value := range os.Args { fmt.Println(index, value

Java命令行执行参数中包含空格被截断的问题解决

使用java -jar命令在命令行执行jar包,传入参数时,参数包含空格,例如“hello world”,这个参数会被解析成两个参数“hello”和“world”.这样的结果是执行时不能正常的获取参数.这时只要在参数两边加上引号即可. 一开始使用的命令如下:java -jar Test.jar %{test}   —— %{test}为其他程序中传入的参数 修改之后的命令如下:java -jar Test.jar ‘%{test}‘  这样就可以作为一个参数获取值了

program_options禁止命令行短参数

典型的 boost program_options的用法如下: #include <boost/program_options.hpp> using namespace boost::program_options; using namespace std; int main(int argc, char* argv[]) // 需要命令行参数 { int intValue; options_description opts("Mysql performance options&qu

Java 命令行运行参数大全

Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOME"bin"java –option 来启动,-option为虚拟机参数,JAVA_HOME为JDK安装路径,通过这些参数可对虚拟机的运行状态进行调整,掌握参数的含义可对虚拟机的运行模式有更深入理解. 一.         查看参数列表:虚拟机参数分为基本和扩展两类,在命令行中输入JAVA_HOME"bin"java 就可得到基本参数列表,在命令行输入J

linux命令行传递参数定期执行PHP文件

最近在做一个项目,需要在linux下传递参数定期执行PHP文件,网上查询资料,确实有相关资料,现整理如下: 1.linux执行PHP文件 #{PHP安装bin路径} {PHP文件路径} {需要参数1 参数2 参数3}#各参数之间,用空格分开#查看php安装bin路径 可执行which php命令 /usr/bin/php /local/www/index.php 111 222 333 2.接收参数 一般情况下,php接收命令行传递过来的参数,$argv保存所有参数组成的数组,$argc保存参数

php解释命令行的参数

php cli模式下,可以用$argc, $argv来读取所有的参数以及个数,如: [email protected]:~/php/php1/1$ cat go1 #!/usr/bin/php <?php echo '参数个数:' . $argc . PHP_EOL; echo '打印参数:' . PHP_EOL; print_r( $argv ) . PHP_EOL; 给文件加上可执行权限: [email protected]:~/php/php1/1$ ls -l total 8 -rwxr