通过自定义Classloader,监听文件变化,创建新的自定义Classloader来动态替换类字节码达到热部署的目的,在实践的过程中,我遇到了几个疑问,希望有做过热部署的小伙伴能够帮忙答疑。
1.A引用B,我想对B热部署,通过Classloader替换完B的字节码后,需要重新生成B对象,所以此时要把A对象中的B引用置为新的B对象。这一步如何获得所有这种A对象来动态替换引用B呢?
Spring devtools 就是new classloader方式。
Jrebel 采用instrument 方式,改写字节码。
针对相对孤立的类,热更新比较简单有引用关系的不好做啊。
2.1m questions
2.1m answers
63 comments
56.7k users