【问题标题】:Spring Boot app automatically shutdown after runningSpring Boot 应用程序运行后自动关闭
【发布时间】:2021-04-23 03:30:49
【问题描述】:

每当我尝试运行我的应用程序时,我都会不断收到此日志。我试图在我的 application.properties (如spring.jpa.hibernate.ddl-auto=update) 上添加更多参数,但这只会破坏应用程序并显示更多错误。我找不到解决此问题的方法。

2021-04-23 11:21:00.351  INFO 6292 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2021-04-23 11:21:01.019  INFO 6292 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2021-04-23 11:21:01.074  INFO 6292 --- [  restartedMain] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [name: default]
2021-04-23 11:21:01.148  INFO 6292 --- [  restartedMain] org.hibernate.Version                    : HHH000412: Hibernate ORM core version 5.4.28.Final
2021-04-23 11:21:01.562  INFO 6292 --- [  restartedMain] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
2021-04-23 11:21:01.747  INFO 6292 --- [  restartedMain] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
2021-04-23 11:21:02.552  INFO 6292 --- [  restartedMain] o.h.e.t.j.p.i.JtaPlatformInitiator       : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
2021-04-23 11:21:02.562  INFO 6292 --- [  restartedMain] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2021-04-23 11:21:02.735  INFO 6292 --- [  restartedMain] o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
2021-04-23 11:21:02.752  INFO 6292 --- [  restartedMain] com.accenture.ws.Application             : Started Application in 4.503 seconds (JVM running for 5.792)
2021-04-23 11:21:02.763  INFO 6292 --- [extShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2021-04-23 11:21:02.767  INFO 6292 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2021-04-23 11:21:02.784  INFO 6292 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.

这是我的 pom.xml – 我的 pom.xml 上是否有任何配置错误?

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.3</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.stackoverflow.net</groupId>
    <artifactId>application-test</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>application-test.stackoverflow</name>
    <description>application-test API</description>
    <properties>
        <java.version>11</java.version>
        <testcontainers.version>1.15.3</testcontainers.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </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-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.testcontainers</groupId>
            <artifactId>junit-jupiter</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.testcontainers</groupId>
            <artifactId>mysql</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.testcontainers</groupId>
                <artifactId>testcontainers-bom</artifactId>
                <version>${testcontainers.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

这是我的 application.properties –

spring.datasource.url=jdbc:mysql://localhost:3306/?user=root/devops_db?
useSSL=false&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=UTC

spring.datasource.username=username
spring.datasource.password=password

server.error.include-stacktrace=never
spring.jackson.serialization.indent-output=true

server.port=8090

【问题讨论】:

标签: java spring spring-boot hibernate spring-jdbc


【解决方案1】:

Spring Boot 应用程序不会自行关闭,但 Hikari 连接会。我发现数据源 URL 存在问题:我注意到 ...devops_db? 和 useSSl=false... 部分之间有一个不应该存在的新行。

复制并粘贴此内容(即将属性文件的前两行替换为以下行):

spring.datasource.url=jdbc:mysql://localhost:3306/?user=root/devops_db?useSSL=false&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=UTC

【讨论】:

  • 哦。我尝试了你的建议,但它仍然关闭,Hikari 连接。还有什么我可能遗漏或配置错误的地方吗?
  • 嗯.. 可能是依赖关系。我觉得你不需要spring-boot-starter-tomcat 和spring-boot-starter-jdbc。
【解决方案2】:

您能否将org.springframework 的日志记录级别设置为debug 以及spring.jpa.hibernate.ddl-auto=none 并分享结果。 你也可以分享数据源配置

【讨论】:

    猜你喜欢
    • 2019-04-01
    • 2017-01-14
    • 1970-01-01
    • 1970-01-01
    • 2016-06-23
    • 2017-04-14
    • 1970-01-01
    • 2020-09-22
    • 2014-12-07
    相关资源
    最近更新 更多