开发者社区> 问答> 正文

[@talishboy][¥20]分布式系统中,java的线上项目能否使用classLoad等技术通过线上替换class文件实现热更新?

月下丶 2018-12-14 21:41:45 514

这种场景,我有一个spring boot 项目A打成jar包,部署在 a,b,c,d三台服务器中,现在发现项目A中一个class存在bug,设想是不重新发布代码,而是使用classload技术实现线上代码的替换来解决bug,问一下现在可以实现吗或者有成熟稳定方案实现吗

分享到
取消 提交回答
全部回答(2)
  • yu_hc200
    2019-07-17 23:21:36

    可以但是不推荐,如果系统是无状态的,并且没有复杂的依赖关系,是可以替换运行的类实例的。但是实际情况比这复杂得多。如果你要替换的类正在使用外部资源怎么办?如果他开启了线程怎么办?如果他在读文件或者访问网络怎么办?要解决这些问题付出的精力,很多时候还不如简单的替换jar包-重启来得快

    0 0
  • 桩子是我
    2019-07-17 23:21:36

    参考下osgi

    0 0
添加回答

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题