xrebel

Java Agent(上)

无人久伴 提交于 2020-08-12 01:57:33
1、java agent是什么? ---》对用户透明,不侵入用户业务代码。让java虚拟机加载agent jar 2、java agent有什么用? --->应用场景例如:调用链追踪项目,在用户无感知的情况下,记录日志。目前业内使用该技术的有,SkyWalking,Pinpoint(这个监控的粒度更小) -各个 Java IDE 的调试功能,例如 eclipse、IntelliJ ; -热部署功能,例如 JRebel、XRebel、 spring-loaded; -各种线上诊断工具,例如 Btrace、Greys,还有阿里的 Arthas; -各种性能分析工具,例如 Visual VM、JConsole 等 3、java agent的实现原理? https://zhuanlan.zhihu.com/p/147375268 4、 入门案例 4.1、 如何制造自己第一个java agent jar包 4.1.1、 第一步:我们需要一个插件来帮助我们生成带特定格式的MAINIFEST.MF的jar 4.1.2、 第二步:在启动项目的时候,在jvm参数中添加 -javaagent: *\ving-agent-0.0.1-SNAPSHOT.jar (在jvm上先加载agent包) (偷偷地问)特定格式的MAINIFEST.MF是怎样的?需要包括下面的内容 Manifest-Version:

IDEA/JRebel实现内部/外部/远程Tomcat热部署Spring Boot

China☆狼群 提交于 2020-04-23 16:26:40
@[TOC] 1 概述 所谓热部署,对于Java应用程序来说,就是在运行时更新Java类文件.IDEA可以使用自带的Spring Boot热部署的方式进行本地/远程热部署,或者使用JRebel进行本地/远程热部署,不过需要安装JRebel and XRebel for IntelliJ这个插件.本文将会介绍这两种方式来进行热部署,这应该是网上能找到的最详细的IDEA热部署的文章,相信在看完之后,开发效率会大大提升,不再需要像以前那样手动打jar/war包然后上传到服务器等一系列繁琐操作. 2 环境 IDE:IntelliJ IDEA 2019.3.1 本地Tomcat:9.0.30 JRebel and XRebel for IntelliJ:2020.2.0 服务器:CentOS 8.1.1911 服务器Tomcat:9.0.33 3 IDEA热部署 3.1 工程部分 3.1.1 新建工程 这里新建一个Spring Boot工程来进行热部署的测试. 打包方式改为war,因为后面要使用外部Tomcat: 勾上热部署工具Spring Boot DevTools与使用内嵌Tomcat的Spring Web. 3.1.2 测试文件 新建一个响应Get请求的Controller: 这里添加了一个控制台信息方便查看. 3.2 内部Tomcat热部署 Spring

IDEA/JRebel实现内部/外部/远程Tomcat热部署Spring Boot

拟墨画扇 提交于 2020-04-23 16:09:35
1 概述 所谓热部署,对于Java应用程序来说,就是在运行时更新Java类文件.IDEA可以使用自带的Spring Boot热部署的方式进行本地/远程热部署,或者使用JRebel进行本地/远程热部署,不过需要安装JRebel and XRebel for IntelliJ这个插件.本文将会介绍这两种方式来进行热部署,这应该是网上能找到的最详细的IDEA热部署的文章,相信在看完之后,开发效率会大大提升,不再需要像以前那样手动打jar/war包然后上传到服务器等一系列繁琐操作. 2 环境 IDE:IntelliJ IDEA 2019.3.1 本地Tomcat:9.0.30 JRebel and XRebel for IntelliJ:2020.2.0 服务器:CentOS 8.1.1911 服务器Tomcat:9.0.33 3 IDEA热部署 3.1 工程部分 3.1.1 新建工程 这里新建一个Spring Boot工程来进行热部署的测试. 打包方式改为war,因为后面要使用外部Tomcat: 勾上热部署工具Spring Boot DevTools与使用内嵌Tomcat的Spring Web. 3.1.2 测试文件 新建一个响应Get请求的Controller: 这里添加了一个控制台信息方便查看. 3.2 内部Tomcat热部署 Spring Boot内嵌了一个Tomcat