JNAVI项目之用classloader实现热部署
来源:互联网 发布:Java开发工程师 招聘 编辑:程序博客网 时间:2024/06/06 01:56
JNAVI项目是我们公司开发的用于大规模分布式服务框架,能提供http,tcp,udp请求服务,并提供了大量的高效率、高性能、池化的请求底层服务的接口的框架。其中之一的特点就是类似于tomcat,支持部署多个业务模块,每个业务模块支持热部署,其就是利用classload实现的。先简单看图。
整个项目分3层,第一层就是启动JNAVI的代码,即boot启动代码
第二层就是服务框架,提供tcp,udp,http服务
第三次就是各个业务模块的代码
整体上,第一层代码初始化serverclassload,并根据配置的主类通过serverclassload启动主类
第二层会启动多个第三层业务模块,每个业务模块分别初始化一个moduleclassload,并引用,通过接口的形式调用第三层相关代码。
第三层支持热部署,即第二层的框架代码会启动一个线程,会定期的去检查业务模块的相关配置是否变化,变化的话,就会重新初始化一个moduleclassload,并加重代码,之后,抛弃之前的moduleclassload,以此达到热部署的功能(使用新类,并卸载旧类)
0 0
- JNAVI项目之用classloader实现热部署
- 用ClassLoader实现热部署
- 通过ClassLoader实现容器热部署
- java利用classloader实现热部署
- classloader 热部署
- 通过ClassLoader说明容器热部署实现机制
- 通过ClassLoader说明容器热部署实现机制
- 通过ClassLoader说明容器热部署实现机制
- 自定义ClassLoader实现java应用核心逻辑模块热部署
- ClassLoader之热修复
- Java Class的热替换 自定义ClassLoader加载.class(java热部署实现 )
- spring-loaded 实现web项目热部署
- Spring-Boot项目实现热部署
- IDEA中项目实现热部署
- Eclipse+Jrebel实现web项目热部署
- SpringBoot项目热部署的实现
- Maven实现java web项目热部署
- 网上商城项目实战之maven热部署
- 图像检索中为什么仍用BOW和LSH
- Kafka设计解析(三)- Kafka High Availability (下)
- Mysql basic interview questions
- Font Awesome 自定义 CSS
- android studio 学习笔记之 注释规范化
- JNAVI项目之用classloader实现热部署
- 《对寻找第i个顺序统计的数》一文的研究。
- android tv gridview焦点放大效果
- 图˙谱˙马尔可夫过程˙聚类结构----by林达华
- 【图解HTTP笔记】第一章 了解Web及网络基础
- n电p空
- 66^3 工作室作品展示之:绿意满屋
- JAVA 文件存储、写入
- linux下zip文件、7z文件的解压和压缩