首页 > 编程语言 >java -D的一些学习和使用

java -D的一些学习和使用

时间:2023-03-07 19:13:37浏览次数:32  
标签:java 方式 启动 MSUConfig 通过 端口 学习 使用

背景

java开发的程序有很多进行配置的方式
可以通过 yaml文件或者是xml文件
也可以通过环境变量的方式.
1. 容器的话可以使用 -e 或者是env进行注入
2. K8S的话可以通过 configmap 或者是 env 方式进入注入
需要注意, 环境变量的注入可能是明文, configmap貌似也是用base64做了一次编码
如果实现加密还是需要用ENC等方式来实现. 

摘要

自己一些测试环境, 比如端口监听等, 其实不同的目录启动,想用不同的端口
来解决端口冲突的问题.
之前的解决方式是通过sed的方式动态修改 yaml 文件来实现.
但是这一点容易被研发通过检查配置文件的hash值来堵死. 
基于此 想通过其他方式来规避这个问题
想到的是 通过 -D的方式来指定端口等来解决. 

处理方式

修改启动脚本: 
最好的方法是在前面增加一个私有化配置:
MSUConfig="-Dserver.port=5203 -Dmsu.serviceName=zhaobshtest"

然后将这个配置节添加进具体的启动脚本:

$JAVA_HOME/bin/java $MSUConfig  -jar xxx.jar

配置文件的处理方式

-D 的含义为:
Set a system property value. If  value  is a string that contains spaces, 
you must enclose the string in double quotes:

需要注意着里面有两个注释事项:
(1)需要设置的是JVM参数而不是program参数
(2)使用此参数的参数优先级最高,会覆盖项目中配置的此项

结果验证

除非是系统内部自己进行了端口声明, 核心业务的端口是可以通过这种方式进行暴露和修改的. 

后续可以设置不同的启动文件.启动多个服务.  

这里有一个需要优化的点:

如果这样启动, 除了日志文件 是否可以实现应用目录的重用? 
是否会有其他影响? 

样例处理:
MSUConfig="-Dserver.port=5201 -Dmsu.serviceName=zhaobshtest -Dlogging.config=$IGIX_SERVER_HOME/runtime/logback-spring5201.xml "

标签:java,方式,启动,MSUConfig,通过,端口,学习,使用
From: https://www.cnblogs.com/jinanxiaolaohu/p/17189215.html

相关文章

  • Redis的介绍安装以及启动与使用还有五大数据类型
    目录一、介绍Redis1.详细介绍2.介绍总结二、安装启动以及运行Redis1.Redis的安装步骤2.Redis的启动方法3.图形化界面使用Redis4.pycharm使用Redis三、redis五大数据类......
  • 推荐 7 个有用的 JavaScript 库,也许你会用的上
    推荐7个有用的JavaScript库,也许你会用的上原创2023-02-1016:52·前端达人使用这7个库,加速你的项目开发 当我们可以通过使用库轻松实现相同的结果时,为什么还要......
  • v-model 在vu2和vue3的使用
    首先看到v-model,大多数小伙伴都会想到“响应式”、“双向绑定”,v-model确实是实现了双向绑定数据,用过vue的人都比较熟悉。v-model是Vue内置的指令,vue2和vue3中的v-mod......
  • 2002年,我在台资企业搞信息化,才正式学习编程软件,当时用的delphi5,操作简单,编译速度快,拖
    2002年,我在台资企业搞信息化,才正式学习编程软件,当时用的delphi5,操作简单,编译速度快,拖拉控件,上手很快,这样陆陆续续使用到现在,出了不少作品,至今还在用delphi搞PC端软件......
  • JavaSE——接口
    概述我们已经学完了抽象类,抽象类中可以用抽象方法,也可以有普通方法,构造方法,成员变量等。那么什么是接口呢?接口是更加彻底的抽象,JDK7之前,包括JDK7,接口中全部是抽象方法。接......
  • 【.NET Core 6】使用EF Core 访问Oracle+Mysql+PostgreSQL并进行简单增改操作与性能比
    前言唠嗑一下。都在说去O或者开源,但是对于数据库选型来说,很多人却存在着误区。例如,去O,狭义上讲,是去Oracle数据库。但是从广义上来说,是去Oracle公司产品或者具有漂亮国垄断......
  • 禅道使用流程
    新手教程开源体验版-12admin123456开源体验版-18admin1234561.创建产品2.添加需求产品-需求-提需求,把需求放上去。3.创建项目然后选择团队,设置各......
  • Scala-Option使用
    最近进行代码ShowCode,发现不少null值处理的场景,比如赋初始值或者判断非空。还在使用Java中方式,没有使用更简便的Scala-Option进行包装。Option可以理解为类型容器,通过安全......
  • jira使用记录小窍门
    可以将subtask直接转换成task不用再新建一个task,选择右上角的三个点操作  转换完之后之前链接的所有的task都会被取消所以得重新链接 ......
  • api接口使用MD5加密加盐签名校验
    最近一个A系统需要向B系统推送数据,因为数据每天不一定有多少,有时候多有时候少,且由UGC生成,需要B系统做一些处理,用mq比较麻烦,且公司用的付费rocketmq。除了重要数据一般不使......