• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

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

技术杂谈 勤劳的小蚂蚁 2个月前 (02-16) 63次浏览 已收录 0个评论 扫描二维码
项目动态修改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进入到你到项目进程
查看成功标示
jsonsole控制台(链接到你启动到项目)
这是项目中写死到MBean(com.steven:type=NewBiAgentManagement)找到并配置动态属性值设置详细:
第一步:
第二步:
通过telnet的方式:

丨极客文库, 版权所有丨如未注明 , 均为原创丨
本网站采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行授权
转载请注明原文链接:项目动态修改Properties(运行时)
喜欢 (0)
[247507792@qq.com]
分享 (0)
勤劳的小蚂蚁
关于作者:
温馨提示:本文来源于网络,转载文章皆标明了出处,如果您发现侵权文章,请及时向站长反馈删除。

您必须 登录 才能发表评论!

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00