programing

Spring boot "Hikari Pool Shutdown" 초기 오류

bestprogram 2023. 8. 10. 19:01

Spring boot "Hikari Pool Shutdown" 초기 오류

오류:

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.

이 오류가 발생하는 이유는 무엇입니까?

어떻게 하면 해결할 수 있을까요?

클래스 경로에 포함된 웹 서버가 없는 것 같습니다.를 통해 Tomcat을 추가해 보십시오.spring-boot-starter-web의존.

메이븐 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'

내 문제는 포함되지 않은 pom.xml에 있었습니다.spring-boot-starter-webartifictId

1 - 아래 항목을 새로 추가합니다.dependencypom.xml로 이동합니다.

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

2 - pom.xml로 이동한 후 마우스 오른쪽 버튼을 클릭하여 이미지를 계속합니다.

사용하지 않는 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>

이 종속성을 언급함으로써 제 문제가 해결되었습니다.

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

그래도 오류가 발생하면 위의 코드에서 <scope 태그>에 주석을 달아 보십시오.

제거합니다.

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

그리고 그것은 동작한다.

제 상황에서, 저는 코틀린과 함께 봄을 사용하는 장에서 코틀린에 관한 책을 공부하고 있었습니다.Spring Initializr을 사용하여 Gradle 프로젝트를 시작했습니다.저는 IntelliJ IDEAIDE의 Gradle 탭에서 Gradle Clean and Gradle Build를 문제없이 수행할 수 있었습니다.그런 다음 MyApplication.kt에 있는 "fun main()" 최상위 함수 옆에 있는 "run MyApplicationKt"를 사용하여 프로젝트를 실행하려고 했습니다.스프링 부트 프로젝트는 처음에는 정상적으로 시작되었지만, 원본 포스터의 예에서 볼 수 있듯이 히카리 데이터 소스가 종료되고 스프링 부트 자체가 중지되었습니다.

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으로 이동하면 종료를 피하면서 앱을 실행합니다.그리고 나서 저는 제가 사용하던 컬 명령어를 사용하여 RESTful 웹 서비스 실행 프로젝트에 액세스할 수 있었습니다.

참고로, 왜 curl 명령이 나의 스프링 그래들 REST 프로젝트에 대해 작동하지 않았는가:컬: 연결이 거부되었습니다.

있는지 확인합니다.<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </dependency>pom.xml에서 제거합니다.

    <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-jdbc</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.tomcat</groupId>
                    <artifactId>tomcat-jdbc</artifactId>
                </exclusion>
            </exclusions>
    </dependency>

있는지 확인합니다.spring-boot-starter-web에 대한 의존.pom.xml그렇지 않은 경우 다음 종속성을 추가하여 추가합니다.pom.xml.

사용할 계획이 없다면 Tomcat을 추가할 필요가 없습니다.

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

애플리케이션에서 동일한 오류가 발생하여 코드 블록을 제거했습니다.spring.main.web-application-type=noneapplication.properties 파일의 파일입니다.

언급URL : https://stackoverflow.com/questions/53259267/spring-boot-hikari-pool-shutdown-early-error