前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >项目动态修改Properties(运行时)

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

作者头像
搜云库技术团队
发布2019-10-18 10:14:05
1.5K0
发布2019-10-18 10:14:05
举报

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

动态配置property,以前老项目没有用过阿波罗,又想不重启虚拟机修改配置文件,此功能帮你实现不重启虚拟机直接改动jvm里的配置文件。

把agent通过jps出来的进程id用命令把jar包注入到jvm里(Attaching Java Agent)

代码语言:javascript
复制
java -cp /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/lib/tools.jar:dynamic-agent-0.0.1-SNAPSHOT.jar com.agent.StartApp LoadAgent 79056 /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用户自行修改

代码语言:javascript
复制
<dependency>
 <groupId>com.sun</groupId>
 <artifactId>tools</artifactId>
 <version>1.7</version>
 <scope>system</scope><systemPath>/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/lib/tools.jar</systemPath>
</dependency>

注意:

如果你的生产jdk是小于当前agent的jdk一定要降到比生产小,不要问为什么。你懂得。

此项目只能修改系统的properties配置。

默认通过两种方式修改支持jconsole通过操作修改和telnet方式修改。

将agent attach进入到你到项目进程

查看成功标示

jsonsole控制台(链接到你启动到项目)

这是项目中写死到MBean(com.steven:type=NewBiAgentManagement)找到并配置动态属性值设置详细:

第一步:

第二步:

通过telnet的方式:

Gitee : https://gitee.com/coderunning/dynamic-property

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-10-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 架构师技术栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档