项目动态修改Properties(运行时)

项目动态修改Properties(运行时)
动态配置property,以前老项目没有用过阿波罗,又想不重启虚拟机修改配置文件,此功能帮你实现不重启虚拟机直接改动jvm里的配置文件。
把agent通过jps出来的进程id用命令把jar包注入到jvm里(Attaching Java Agent)
  1. java -cp /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/lib/tools.jar:dynamic-agent-0.0.1-SNAPSHOT.jar com.agent.StartAppLoadAgent79056/Users/steven/temp/dynamic-agent-0.0.1-SNAPSHOT.jar
默认会占用本地9999端口 目前还未加入配置端口项 这里需要指定服务器的tools.jar 因为VirtualMachine类的工具在这个jar里
dynamic-agent-0.0.1-SNAPSHOT.jar是项目打完包后的
LoadAgent 46623 /Users/steven/temp/dynamic-agent-0.0.1-SNAPSHOT.jar
LoadAgent 是指定要调用的类 这里参数默认配置它即可
46623 是进程号
/Users/steven/temp/dynamic-agent-0.0.1-SNAPSHOT.jar 指定项目打包后的jar包路径和上面的jar包一样
本地调试maven配置
这里是列表文本默认tools.jar 如果您要倒入到项目需要用本地的jdk路径我这里默认把路径写死了,win用户自行修改
  1. <dependency>
  2. <groupId>com.sun</groupId>
  3. <artifactId>tools</artifactId>
  4. <version>1.7</version>
  5. <scope>system</scope><systemPath>/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/lib/tools.jar</systemPath>
  6. </dependency>
注意:
如果你的生产jdk是小于当前agent的jdk一定要降到比生产小,不要问为什么。你懂得。
此项目只能修改系统的properties配置。
默认通过两种方式修改支持jconsole通过操作修改和telnet方式修改。
将agent attach进入到你到项目进程
项目动态修改Properties(运行时)
查看成功标示
项目动态修改Properties(运行时)
jsonsole控制台(链接到你启动到项目)
项目动态修改Properties(运行时)
这是项目中写死到MBean(com.steven:type=NewBiAgentManagement)找到并配置动态属性值设置详细:
项目动态修改Properties(运行时)
第一步:
项目动态修改Properties(运行时)
第二步:
项目动态修改Properties(运行时)
通过telnet的方式:
项目动态修改Properties(运行时)
Gitee : https://gitee.com/coderunning/dynamic-property
本站所有文章均来自互联网,如有侵权,请联系站长删除。极客文库 » 项目动态修改Properties(运行时)
分享到:
赞(0)

评论抢沙发

评论前必须登录!