-
大小: 82KB文件类型: .rar金币: 2下载: 0 次发布日期: 2021-05-19
- 语言: Java
- 标签: springboot 业务插件
资源简介
springboot 插件热加载外部class或者jar,实现业务不停机加载。

代码片段和文件信息
package com.zzw.beandymanicload;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.ServletContext;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
@RestController
@SpringBootApplication
@ComponentScan(basePackages = {“com“})
public class BeandymanicloadApplication {
@Autowired
public GetStringBean getStringBean;
// @Autowired
// private ServletContext servletContext;
//
// @RequestMapping(“/hello“)
// public String helloword(){
// servletContext.setAttribute(“aaa““tttttttttttttttttt“);
// TestCache.aaa.put(“bbb““cccccccccccccc“);
// return getStringBean.getString();
// }
@RequestMapping(“/beanLoad“)
public String beanLoad(){
ApplicationContext applicationContext = CommonContextUtils.getApplicationContext();
ConfigurableApplicationContext context = (ConfigurableApplicationContext)applicationContext;
DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory)context.getBeanFactory();
ClassLoader beanClassLoader = beanFactory.getBeanClassLoader();
Class aClass = ClassUtil.LoadJar(“D:/classtest“beanClassLoader).get(0);
BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder.genericBeanDefinition(aClass);
beanFactory.registerBeanDefinition(aClass.getName()beanDefinitionBuilder.getRawBeanDefinition());
object aaa = (applicationContext.getBean(aClass.getName()));
Method m = null;
Method m2 = null;
try {
m2 = aClass.getMethod(“setApplicationContext“ ApplicationContext.class);
m = aClass.getMethod(“getString“ null);
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
object ret = null;
try {
m2.invoke(aaaapplicationContext);
ret = m.invoke(aaa null);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
return ret.toString();
}
public static void main(String[] args) {
SpringApplication.run(BeandymanicloadApplication.class args);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 249 2018-02-27 13:17 beandymanicload\.gitignore
文件 595 2018-03-16 09:53 beandymanicload\.idea\artifacts\getString.xm
文件 642 2018-02-27 13:18 beandymanicload\.idea\compiler.xm
文件 22942 2018-03-07 16:28 beandymanicload\.idea\dbnavigator.xm
文件 94 2018-02-27 13:18 beandymanicload\.idea\dictionaries\zhengwei_zhou.xm
文件 191 2018-02-27 13:18 beandymanicload\.idea\encodings.xm
文件 575 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__ch_qos_logback_logback_classic_1_1_11.xm
文件 554 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__ch_qos_logback_logback_core_1_1_11.xm
文件 522 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__com_fasterxm
文件 644 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__com_fasterxm
文件 602 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__com_fasterxm
文件 630 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__com_fasterxm
文件 546 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__com_jayway_jsonpath_json_path_2_2_0.xm
文件 700 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xm
文件 611 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__javax_validation_validation_api_1_1_0_Final.xm
文件 455 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__junit_junit_4_12.xm
文件 542 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__net_minidev_accessors_smart_1_1.xm
文件 521 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__net_minidev_json_smart_2_2_1.xm
文件 625 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__org_apache_tomcat_em
文件 611 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__org_apache_tomcat_em
文件 660 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__org_apache_tomcat_em
文件 636 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__org_apache_tomcat_tomcat_annotations_api_8_5_27.xm
文件 535 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__org_assertj_assertj_core_2_6_0.xm
文件 532 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__org_hamcrest_hamcrest_core_1_3.xm
文件 553 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__org_hamcrest_hamcrest_library_1_3.xm
文件 634 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__org_hibernate_hibernate_validator_5_3_6_Final.xm
文件 608 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__org_jboss_logging_jboss_logging_3_3_1_Final.xm
文件 549 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__org_mockito_mockito_core_1_10_19.xm
文件 508 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__org_objenesis_objenesis_2_1.xm
文件 472 2018-02-27 13:18 beandymanicload\.idea\libraries\Maven__org_ow2_asm_asm_5_0_3.xm
............此处省略74个文件信息
- 上一篇:SQL课程设计报告
- 下一篇:jsp操作数据库的留言板,MVC模式开发,附带数据库
相关资源
- springboot商城系统
- 基于springboot和vue 前后端分离后台管理
- springboot2.0+spring cloud+eureka(分布式项
- Vue + SpringBoot + MyBatis 音乐网站(源码
- springBoot项目的代码生成器
- Java SpringBoot 支付宝和微信支付整合
- 整合springboot+mvc+mybatis(通用mapper)
- Java+SpringBoot+MyBatis+Maven+MySQL实现的一个
- jasperreport-fonts-6.5.1.jar 中文
- JavaEE开发的颠覆者 Spring Boot实战源代
- SpringBoot+iReport打印单张和多张报表包
- lombok jar包
- Springboot实现语音识别听写
- springboot网上书城项目毕业设计程序
- 基于springboot电商订单管理毕业设计程
- springboot教学评价系统毕业设计程序
- springboot床上用品销售系统毕业设计程
- springboot权限控制系统
- springboot家政服务平台毕业设计程序
- springboot校园招聘系统毕业设计程序
- [www.java1234.com]Springboot打造企业级进销
- Java框架springBoot企业级进销存ERP系统源
- springboot+JPA+JSP实现登录功能
- springboot+memcached+mybatis+shiro+webservice聚
- 2019JAVA BAT 面试宝典 springboot springm
- SpringBoot考试系统.rar
- SpringBoot+Echarts
- ssm+mysql+springboot开发的后台管理系统
- java web springboot License生成器 (JAVA源码
- 风电系统物联网iot平台监控、报表、
评论
共有 条评论