背景:
1、tomcat工程启动比较慢,会导致很长的一段时间无法对外提供服务。
2、服务器数量比较多,更新一次运维会花比较长的时间。
描述:
对系统框架进行调整,把会频繁更新的功能,做成spring jar包,放在web站点,然后tomcat上部署的系统自动向web站点请求最新的spring jar包。
注意:考虑到系统的性能,这里没有用mbean实现。
实现关键代码:
1、jar包解析
myClassLoader = new URLClassLoader(new URL[] { url},context.getClassLoader() );
Thread.currentThread().setContextClassLoader(myClassLoader);
2、使用新jar包
DefaultListableBeanFactory defaultListableBeanFactory = (DefaultListableBeanFactory)context.getAutowireCapableBeanFactory();