Spring boot“Hikari Pool Shutdown”早期错误

问题描述 投票:0回答:11

错误:

2018-11-12 18:25:31.221  INFO 3028 --- [       Thread-3] 
com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...

2018-11-12 18:25:31.223  INFO 3028 --- [       Thread-3] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.

为什么会出现这个错误?

我该如何解决?

spring-boot spring-jdbc hikaricp
11个回答
29
投票

您的类路径中似乎没有任何嵌入式 Web 服务器。 尝试通过 spring-boot-starter-web 依赖项添加

Tomcat

Maven

pom.xml

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

摇篮

build.gradle

implementation 'org.springframework.boot:spring-boot-starter-web'

3
投票

我的问题是在 pom.xml 不包括

spring-boot-starter-web
artifactId

1 - 添加新的以下

dependency
到 pom.xml .

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

2 - 转到 pom.xml 右键单击并继续图像:


2
投票

检查是否有不使用的jpa依赖并移除。还要添加 tomcat 和 spring-boot-starter-web 的依赖项

删除

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

如果不存在则添加

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
</dependency>

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            
        </dependency>

2
投票

我的问题通过注释掉这个依赖关系得到解决:

<!--        <dependency>-->
<!--            <groupId>org.springframework.boot</groupId>-->
<!--            <artifactId>spring-boot-starter-tomcat</artifactId>-->
<!--            <scope>provided</scope>-->
<!--        </dependency>-->

如果仍然遇到错误,请尝试仅评论

我删除

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

它有效


2
投票

1
投票

在我的情况下,我正在学习一本关于 Kotlin 的书,在关于将 Spring 与 Kotlin 结合使用的章节中。我使用 Spring Initializr 设置了 gradle 项目。我能够从 IntelliJ IDEA ide 中的 gradle 选项卡进行 gradle clean 和 gradle build,没有任何问题。然后,我尝试使用 MyApplication.kt 中“fun main()”顶级函数旁边的“run MyApplicationKt”来运行该项目。 spring boot 项目起初启动正常,但正如在原始发布者的示例中发现的那样,Hikari 数据源关闭,并且 spring boot 本身停止了。

2020-11-10 22:29:46.868  INFO 19536 --- [           main] c.agiledeveloper.todo.TodoApplicationKt  : Started TodoApplicationKt in 2.819 seconds (JVM running for 3.431)

2020-11-10 22:30:47.606  INFO 19536 --- [extShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'

2020-11-10 22:30:47.607  INFO 19536 --- [extShutdownHook] .SchemaDropperImpl$DelayedDropActionImpl : HHH000477: Starting delayed evictData of schema as part of SessionFactory shut-down'

2020-11-10 22:30:47.610  INFO 19536 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'

2020-11-10 22:30:47.610  INFO 19536 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...

2020-11-10 22:30:47.615  INFO 19536 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.

问题是我是 Gradle 的新手,解决方法是避免上述情况,而是转到 Gradle 选项卡 > 任务 > 应用程序 > bootRun,这会在避免关闭的同时运行应用程序。然后我可以使用我正在使用的 curl 命令访问我的 RESTful Web 服务运行项目。

作为参考,为什么 curl 命令对我的 spring gradle REST 项目不起作用:Curl:连接被拒绝


1
投票

检查你是否有

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </dependency>
在你的 pom.xml 中,删除它


0
投票
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>

我删除了这种依赖,它对我有用!


0
投票

对我来说,它在删除以下依赖项后有效:

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.tomcat</groupId>
                    <artifactId>tomcat-jdbc</artifactId>
                </exclusion>
            </exclusions>
    </dependency>

0
投票

检查你是否有

spring-boot-starter-web
依赖
pom.xml
如果没有,则通过将以下依赖项添加到
pom.xml
.

来添加它

如果您不打算以任何方式使用它,则无需添加 tomcat。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

0
投票

我在我的应用程序中遇到了同样的错误,我删除了 application.properties 文件中的代码块

spring.main.web-application-type=none
,问题就解决了。

© www.soinside.com 2019 - 2024. All rights reserved.