服务如何实现热更新?

用Spring Boot项目搭建了一个TCP服务,该服务接受硬件设备的链接和数据

如果在保持设备不掉线的情况下,更新这个服务代码呢?

阅读 2.2k
1 个回答

使用父子进程.

主进程负责接收连接, 在连接和工作进程之间转发数据

子进程(工作进程)负责接收主进程转发的数据, 处理, 返回要发送的数据.

更新时, 主进程不停, 子进程重启.

或者给设备发消息, 让它随后再连接.
更新完成以后, 再接收消息.

另外一个, 可以实现自定义的类加载器,
更新的时候,只把类文件替换掉,然后通知进程重新加载类。
tcp连接还保持原样。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题