十四、热部署功能

14 热部署功能

Voovan 提供了一个通用的热部署功能,对于那些没有对类和方法接口发生改变的情况下可以进行类的在 JVM 运行时的热替换。

14.1 热部署类

类: org.voovan.tools.hotswap.Hotswaper

14.2 方法说明

  1. public Hotswaper()
  • 构造方法, 在系统路径内自动寻找 Agentjar 并进行加载
  1. public Hotswaper(String agentJarPath)
  • 构造方法,指定一个 AgentJar 进行加载
  • agentJarPath: agentJar的路径。
  1. public void autoReload(int intervals)
  • 自动热加载 Class
  • intervals: 自动重读的时间间隔, 单位: 秒。
  1. public void cancelAutoReload(x)
  • 取消自动热加载操作

14.3 使用举例

  • 以下是在 Voovan WebServer 中使用热部署的例子
  1. private void initHotSwap() {
  2. //热加载
  3. {
  4. try {
  5. if(config.getHotSwapInterval() > 0) {
  6. Hotswaper hotSwaper = new Hotswaper();
  7. hotSwaper.autoReload(config.getHotSwapInterval());
  8. }
  9. } catch (Exception e) {
  10. Logger.error("初始化热部署失败", e);
  11. }
  12. }
  13. }