jrebel

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:

IntelliJ IDEA 2018.3.6 安装、激活 JRebel

你。 提交于 2020-08-09 20:36:31
一、在 IntelliJ IDEA 2018.3.6 中安装 JRebel 1、代开 IDEA 开发工具,然后用快捷键 Ctrl+Alt+S 打开设置并搜索 jrebel 插件 2、安装 jrebel 插件(我已经安装好了,所以显示的是 INSTALLED,未安装则显示的是 INSTALL,点击即可进行安装) 3、重启 IntelliJ IDEA 4、重启 IntelliJ IDEA 后发现界面上多了一些图标 二、激活 IntelliJ IDEA 2018.3.6 中安装的 JRebel 【方法一】 1.1、选择 Team URL 方式激活(第一行激活地址,第二行填邮箱),如图: 1.2、打开 http://www.uuid.online 生成 UUID,如图: 1.3、填入激活地址(地址格式为 http://jrebel-license.jiweichengzhu.com/生成的 UUID),如 http://jrebel-license.jiweichengzhu.com/a4a9245e-e7d1-422c-9673-2ea5212cbefc、邮箱随便填一个即可。 【方法二】 2.1、到 https://github.com/ilanyu/ReverseProxy/releases/tag/v1.4 下载合适的破解软件: 2.2、运行(无需安装)下载后的

Spring Boot 五种热部署方式,极速开发就是生产力!

霸气de小男生 提交于 2020-08-08 00:58:15
作者:若离x 来源:my.oschina.net/ruoli/blog/1590148 1、模板热部署 在 Spring Boot 中,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面是得不到修改后的页面的,因此我们可以在application.properties中关闭模版引擎的缓存,如下: Thymeleaf的配置: spring.thymeleaf.cache=false FreeMarker的配置: spring.freemarker.cache=false Groovy的配置: spring.groovy.template.cache=false Velocity的配置: spring.velocity.cache=false 2、使用调试模式Debug实现热部署 此种方式为最简单最快速的一种热部署方式,运行系统时使用Debug模式,无需装任何插件即可,但是无发对配置文件,方法名称改变,增加类及方法进行热部署,使用范围有限。 3、spring-boot-devtools 在 Spring Boot 项目中添加 spring-boot-devtools依赖即可实现页面和代码的热部署。详细用法可以参考这篇文章: Spring Boot 实现热部署 。 如下: <dependency> <groupId>org.springframework.boot<

IDEA提高开发效率的7个插件

天涯浪子 提交于 2020-08-07 19:04:53
IDEA提高开发效率的7个插件 1. 多行编辑 先来体验一下从xml文件拷贝字段新建实体对象 一般我们为了新建多表连接后映射的 ResultMap ,耗费不少时间,那么我们就来试一试这个多行编辑 表字段存在下划线,而实体中不允许,更是讨厌 ,等着一招教你解决 前提条件,安装一个idea的插件,用来驼峰与下划线互转的:CamelCase 步骤: ① 多行选择,按住ALT(windows)/option(Mac) ,拉动鼠标就可 ② 选中字段对象 Win Ctrl+shift+左箭头 Mac option+shift+左箭头 ③ 复制,然后新建实体对象,右键选择 Paste without Formatting,也就是无格式粘贴 ④ 然后下划线转驼峰对象,插件有快捷键 Win Shift + Alt + U Mac ⇧(shift) + ⌥(option) + U ⑤ 选中多行,直接输入即是多行编辑,编辑完成后使用代码格式化即可 2. Grep Console 功效 自定义idea日志打印颜色等功效 解决的问题 历史的老项目打印的日志无颜色,未配置颜色 多项目配置的彩色日志也不同 其他地方日志粘贴过来,也可以上色 直接去idea设置中 Plugins 下载即可,下面设置日志颜色 效果图如下 3. JRebel热部署 解决了什么问题 项目启动时间长,修改一个字段要重启一下,实属弟弟

Java Agent入门

喜你入骨 提交于 2020-08-05 12:33:09
介绍 在JDK1.5以后,我们可以使用agent技术构建一个独立于应用程序的代理程序(即为Agent),用来协助监测、运行甚至替换其他JVM上的程序。使用它可以实现虚拟机级别的AOP功能。Agent分为两种,一种是在主程序之前运行的Agent,一种是在主程序之后运行的Agent(前者的升级版,1.6以后提供)。 使用 主程序运行之前的代理程序 创建代理类 public class MyPreMainAgent { //方法名和参数都是固定的 premain表示在主程序运行之前运行 public static void premain(String agentArgs, Instrumentation inst) { System.out.println("PreMain start"); System.out.println(agentArgs); System.out.println(inst); } } Instrumentation是java1.5新提供的类,它提供在运行时重新加载某个类的的class文件的api。 public interface Instrumentation { /** * 添加一个转换器Transformer,之后的所有的类加载都会被Transformer拦截。 * ClassFileTransformer类是一个接口,使用时需要实现它

IDEA提高开发效率的7个插件

≯℡__Kan透↙ 提交于 2020-07-27 23:07:52
IDEA提高开发效率的7个插件 1. 多行编辑 先来体验一下从xml文件拷贝字段新建实体对象 一般我们为了新建多表连接后映射的 ResultMap ,耗费不少时间,那么我们就来试一试这个多行编辑 表字段存在下划线,而实体中不允许,更是讨厌 ,等着一招教你解决 前提条件,安装一个idea的插件,用来驼峰与下划线互转的:CamelCase 步骤: ① 多行选择,按住ALT(windows)/option(Mac) ,拉动鼠标就可 ② 选中字段对象 Win Ctrl+shift+左箭头 Mac option+shift+左箭头 ③ 复制,然后新建实体对象,右键选择 Paste without Formatting,也就是无格式粘贴 ④ 然后下划线转驼峰对象,插件有快捷键 Win Shift + Alt + U Mac ⇧(shift) + ⌥(option) + U ⑤ 选中多行,直接输入即是多行编辑,编辑完成后使用代码格式化即可 2. Grep Console 功效 自定义idea日志打印颜色等功效 解决的问题 历史的老项目打印的日志无颜色,未配置颜色 多项目配置的彩色日志也不同 其他地方日志粘贴过来,也可以上色 直接去idea设置中 Plugins 下载即可,下面设置日志颜色 效果图如下 3. JRebel热部署 解决了什么问题 项目启动时间长,修改一个字段要重启一下,实属弟弟

Where does IntelliJ put .class files when it compiles during typing

只谈情不闲聊 提交于 2020-07-15 07:50:14
问题 Is IntelliJ compiling all the time since it tells me with red squiggly lines when there is an error? (in addition to the autocomplete features) Or is it doing some sort of psuedo compiling? If it is doing legit compiling, where does it put these compiled classes? I'de like to point my JRebel to that directory instead of the individual module target folders. 回答1: Meo is right, from what I learned when I developed plugins for custom languages, IntelliJ does not compile anything until you

Where does IntelliJ put .class files when it compiles during typing

微笑、不失礼 提交于 2020-07-15 07:48:14
问题 Is IntelliJ compiling all the time since it tells me with red squiggly lines when there is an error? (in addition to the autocomplete features) Or is it doing some sort of psuedo compiling? If it is doing legit compiling, where does it put these compiled classes? I'de like to point my JRebel to that directory instead of the individual module target folders. 回答1: Meo is right, from what I learned when I developed plugins for custom languages, IntelliJ does not compile anything until you

eclipse激活jrebel

≯℡__Kan透↙ 提交于 2020-04-26 06:28:27
1.原本jrebel已经激活了,某天突然失效了。报错如下: JRebel: ERROR Failed to obtain seat. Unable to connect to license server. Check your network connection and/or VPN settings. 解决办法: 前提是你已经安装了JRebel ,自己百度 1.下载软件 http://github.com/ilanyu/ReverseProxy/releases/tag/v1.4,选择对应版本,我对应下载的ReverseProxy_windows_amd64.exe windows64位 下载完成双击启动exe,启动之后如图,端口是8888 2.找到JRebel Configuration 3.修改eclipse上的JRebel的配置 4.填写入下 url跟着填:http://127.0.0.1:8888/88414687-3b91-4286-89ba-2dc813b107ce 邮箱随便,然后change license 保存,然后你激活了 转载请标明出处: eclipse永久激活jrebel或者重新永久激活jrebel 文章来源: eclipse永久激活jrebel或者重新永久激活jrebel 来源: oschina 链接: https://my.oschina.net/u

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