SpringBoot快速部署

2022-06-28 19:48:03 浏览数 (3)

本文最后更新于 889 天前,其中的信息可能已经有所发展或是发生改变。

1. 热部署

代码语言:javascript复制
<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <dependencies>
                    <dependency>
                        <groupId>org.springframework</groupId>
                        <artifactId>springloaded</artifactId>
                        <version>1.2.8.RELEASE</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

使用mvn build-spring-boot:run启动,只对修改返回值有效,而对添加方法无效。

2. 重新部署

代码语言:javascript复制
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
    <version>2.2.3.RELEASE</version>
</dependency>

当java代码改变时,自动编译,并重新部署项目。原理是修改后服务会快速重启,深层原理是使用了两个classloader,一个classloader加载那些不会改变的类,另一个classloader加载会更改的类,成为restart Classloader。这样代码有更改的时候,原来的restart Classloader被丢弃,重新创建一个restart Classloader,由于需要加载的类比较少,所以实现了较快的重启时间(5s以内)。对于添加方法仍有效。

Post Views: 433

0 人点赞