Java 弹簧靴-意外关闭挂钩

Java 弹簧靴-意外关闭挂钩,java,spring-boot,hibernate,spring-data-jpa,Java,Spring Boot,Hibernate,Spring Data Jpa,我有一个Spring boot restful应用程序。我使用复制主从postgres。配置是正确的,但当我启动它作为一个容器,它将立即关闭 也许我错过了什么?我怎样才能修好它 这是我的控制台 . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_

我有一个Spring boot restful应用程序。我使用复制主从postgres。配置是正确的,但当我启动它作为一个容器,它将立即关闭

也许我错过了什么?我怎样才能修好它

这是我的控制台

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.2.1.RELEASE)

2020-09-29 07:25:06.394  INFO 1 --- [           main] com.valid8.Valid8Application             : Starting Valid8Application v0.0.1-SNAPSHOT on valid8-api-6cd79f5db5-bfmm6 with PID 1 (/app/valid8-api.jar started by root in /app)
2020-09-29 07:25:06.458  INFO 1 --- [           main] com.valid8.Valid8Application             : The following profiles are active: prod
2020-09-29 07:26:31.255  INFO 1 --- [           main] d.s.w.p.DocumentationPluginsBootstrapper : Context refreshed
2020-09-29 07:26:35.470  INFO 1 --- [           main] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s)
2020-09-29 07:26:38.698  INFO 1 --- [           main] s.d.s.w.s.ApiListingReferenceScanner     : Scanning for api listing references
2020-09-29 07:26:43.851  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: createUsingPOST_1
2020-09-29 07:26:43.993  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getUsingGET_1
2020-09-29 07:26:44.792  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: createUsingPOST_2
2020-09-29 07:26:44.812  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingDELETE_1
2020-09-29 07:26:44.813  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getUsingGET_2
2020-09-29 07:26:45.101  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: listUsingGET_1
2020-09-29 07:26:45.180  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPUT_1
2020-09-29 07:26:46.936  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getUsingGET_3
2020-09-29 07:26:47.264  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: allUsingGET_1
2020-09-29 07:26:47.284  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: allUsingGET_2
2020-09-29 07:26:47.835  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: allUsingGET_3
2020-09-29 07:26:48.002  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingDELETE_2
2020-09-29 07:26:48.552  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: listUsingGET_2
2020-09-29 07:26:48.797  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: createUsingPOST_3
2020-09-29 07:26:48.821  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingDELETE_3
2020-09-29 07:26:49.310  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: downloadUsingGET_1
2020-09-29 07:26:49.391  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getUsingGET_4
2020-09-29 07:26:49.592  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: listUsingGET_3
2020-09-29 07:26:51.519  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: allUsingGET_4
2020-09-29 07:26:51.599  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: createUsingPOST_4
2020-09-29 07:26:51.600  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingDELETE_4
2020-09-29 07:26:51.639  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: downloadUsingGET_2
2020-09-29 07:26:51.640  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: downloadUsingGET_3
2020-09-29 07:26:51.760  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getUsingGET_5
2020-09-29 07:26:52.990  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: allUsingGET_5
2020-09-29 07:26:53.071  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: editUsingPATCH_1
2020-09-29 07:26:53.114  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getUsingGET_6
2020-09-29 07:26:53.116  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updatableUsingGET_1
2020-09-29 07:26:53.276  INFO 1 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_1
2020-09-29 07:26:54.213  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2020-09-29 07:26:54.233  INFO 1 --- [           main] com.valid8.Valid8Application             : Started Valid8Application in 129.396 seconds (JVM running for 149.381)
2020-09-29 07:26:57.830  INFO 1 --- [nio-8080-exec-2] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2020-09-29 07:26:57.831  INFO 1 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2020-09-29 07:26:58.240  INFO 1 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet        : Completed initialization in 409 ms
2020-09-29 07:27:04.251  INFO 1 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'threadPoolTaskExecutor'
2020-09-29 07:27:04.579  INFO 1 --- [extShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'DataSourceConfig$$EnhancerBySpringCGLIB$$e7df14d6'
2020-09-29 07:27:05.316  INFO 1 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-2 - Shutdown initiated...
2020-09-29 07:27:05.686  INFO 1 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-2 - Shutdown completed.
2020-09-29 07:27:05.745  INFO 1 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2020-09-29 07:27:05.828  WARN 1 --- [nio-8080-exec-7] o.s.b.a.jdbc.DataSourceHealthIndicator   : DataSource health check failed

org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: HikariDataSource HikariDataSource (HikariPool-2) has been closed.
        at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82) ~[spring-jdbc-5.2.1.RELEASE.jar!/:5.2.1.RELEASE]
        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:324) ~[spring-jdbc-5.2.1.RELEASE.jar!/:5.2.1.RELEASE]
        at org.springframework.boot.actuate.jdbc.DataSourceHea
我的配置文件是:

package com.valid8.datasource;

import com.valid8.datasource.properties.JdbcConfigProperties;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import liquibase.integration.spring.SpringLiquibase;
import net.ttddyy.dsproxy.support.ProxyDataSource;
import net.ttddyy.dsproxy.support.ProxyDataSourceBuilder;

import java.util.HashMap;
import java.util.Map;
import javax.persistence.EntityManagerFactory;
import javax.sql.DataSource;

import lombok.AllArgsConstructor;
import org.hibernate.jpa.HibernatePersistenceProvider;
import org.postgresql.ds.PGSimpleDataSource;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import org.springframework.core.env.Environment;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.JpaVendorAdapter;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
import org.springframework.transaction.support.TransactionTemplate;

@Configuration
@AllArgsConstructor
@Profile("prod")
public class DataSourceConfig {
  private static final String DATA_SOURCE_PROXY_NAME = "valid8";
  private JdbcConfigProperties jdbcConfigProperties;
  private Environment env;

  @Bean
  public DataSource readWriteDataSource() {
    PGSimpleDataSource dataSource = new PGSimpleDataSource();
    dataSource.setURL(jdbcConfigProperties.getUrl().getPrimary());
    dataSource.setUser(jdbcConfigProperties.getUsername());
    dataSource.setPassword(jdbcConfigProperties.getPassword());
    return connectionPoolDataSource(dataSource);
  }

  @Bean
  public DataSource readOnlyDataSource() {
    PGSimpleDataSource dataSource = new PGSimpleDataSource();
    dataSource.setURL(jdbcConfigProperties.getUrl().getReplica());
    dataSource.setUser(jdbcConfigProperties.getUsername());
    dataSource.setPassword(jdbcConfigProperties.getPassword());
    return connectionPoolDataSource(dataSource);
  }

  @Bean
  public TransactionRoutingDataSource transactionRoutingDataSource() {
    TransactionRoutingDataSource routingDataSource = new TransactionRoutingDataSource();

    Map<Object, Object> datasourceMap = new HashMap<>();
    datasourceMap.put(DataSourceType.READ_WRITE, readWriteDataSource());
    datasourceMap.put(DataSourceType.READ_ONLY, readOnlyDataSource());

    routingDataSource.setTargetDataSources(datasourceMap);
    return routingDataSource;
  }

  private DataSource connectionPoolDataSource(DataSource dataSource) {
    return new HikariDataSource(hikariConfig(dataSource));
  }

  private HikariConfig hikariConfig(DataSource dataSource) {
    HikariConfig hikariConfig = new HikariConfig();
    hikariConfig.setDataSource(dataSource);
    hikariConfig.setMinimumIdle(0);
    hikariConfig.setConnectionTimeout(30000);
    hikariConfig.setIdleTimeout(35000);
    hikariConfig.setMaxLifetime(45000);

    return hikariConfig;
  }

  @Bean
  public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
    LocalContainerEntityManagerFactoryBean em
            = new LocalContainerEntityManagerFactoryBean();

    em.setPersistenceUnitName(getClass().getSimpleName());
    em.setPersistenceProvider(new HibernatePersistenceProvider());

    ProxyDataSource datasourceProxy = ProxyDataSourceBuilder
            .create(transactionRoutingDataSource())
            .name(DATA_SOURCE_PROXY_NAME)
            .build();

    em.setDataSource(datasourceProxy);
    em.setPackagesToScan("com.valid8.model");
    em.setJpaVendorAdapter(jpaVendorAdapter());
    HashMap<String, Object> properties = new HashMap<>();
    properties.put("hibernate.dialect",
            env.getProperty("spring.jpa.properties.hibernate.dialect"));
    properties.put("hibernate.show_sql",
            env.getProperty("spring.jpa.properties.hibernate.show_sql"));
    properties.put("hibernate.physical_naming_strategy",
            "org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy");
    properties.put("hibernate.implicit_naming_strategy",
            "org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy");
    properties.put("hibernate.temp.use_jdbc_metadata_defaults",
            env.getProperty("spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults"));
    em.setJpaPropertyMap(properties);

    return em;
  }

  @Bean
  public JpaTransactionManager transactionManager(EntityManagerFactory entityManagerFactory){
    JpaTransactionManager transactionManager = new JpaTransactionManager();
    transactionManager.setEntityManagerFactory(entityManagerFactory);
    return transactionManager;
  }

  @Bean
  public TransactionTemplate transactionTemplate(EntityManagerFactory entityManagerFactory) {
    return new TransactionTemplate(transactionManager(entityManagerFactory));
  }

  @Bean
  public JpaVendorAdapter jpaVendorAdapter() {
    return new HibernateJpaVendorAdapter();
  }

  @Bean
  @ConditionalOnProperty(name = "spring.liquibase.enabled", havingValue = "true", matchIfMissing = true)
  public SpringLiquibase liquibase() {
    SpringLiquibase liquibase = new SpringLiquibase();
    liquibase.setChangeLog("classpath:/db/changelog/db.changelog-master-prod.yaml");
    liquibase.setDataSource(readWriteDataSource());
    return liquibase;
  }
}
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.2.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.xperc</groupId>
    <artifactId>valid8</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>valid8</name>
    <description>Valid 8 Backend</description>

    <properties>
        <java.version>1.8</java.version>
        <swagger.version>2.9.2</swagger.version>
        <swagger-annotations.version>1.5.21</swagger-annotations.version>
        <swagger-models.version>1.5.21</swagger-models.version>
        <org.mapstruct.version>1.3.1.Final</org.mapstruct.version>
        <liquibase-core>3.8.0</liquibase-core>
        <jwt.version>0.9.1</jwt.version>
        <apache.commons.lang3.version>3.9</apache.commons.lang3.version>
        <checkstyle.missing-javadoc.severity>warning</checkstyle.missing-javadoc.severity>
        <com.chargebee.version>2.7.4</com.chargebee.version>
        <junit-jupiter.version>5.3.2</junit-jupiter.version>
        <com.querydsl.version>4.2.2</com.querydsl.version>
        <com.jcraft.version>0.1.55</com.jcraft.version>
        <com.opencsv.version>5.0</com.opencsv.version>
        <org.javatuples.version>1.2</org.javatuples.version>
        <okta.version>1.5.4</okta.version>
        <okta-jwt.version>0.4.0</okta-jwt.version>
        <com.okta.spring.version>1.3.0</com.okta.spring.version>
        <aws.sdk.version>1.11.820</aws.sdk.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-core</artifactId>
            <version>${liquibase-core}</version>
        </dependency>
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt</artifactId>
            <version>${jwt.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>${apache.commons.lang3.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>junit</groupId>
                    <artifactId>junit</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- junit 5 -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>${junit-jupiter.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>${swagger.version}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>${swagger.version}</version>
        </dependency>
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-annotations</artifactId>
            <version>${swagger-annotations.version}</version>
        </dependency>
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-models</artifactId>
            <version>${swagger-models.version}</version>
        </dependency>

        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct</artifactId>
            <version>${org.mapstruct.version}</version>
        </dependency>

        <dependency>
            <groupId>com.chargebee</groupId>
            <artifactId>chargebee-java</artifactId>
            <version>${com.chargebee.version}</version>
        </dependency>

        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct-processor</artifactId>
            <version>${org.mapstruct.version}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.querydsl</groupId>
            <artifactId>querydsl-apt</artifactId>
            <version>${com.querydsl.version}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.querydsl</groupId>
            <artifactId>querydsl-jpa</artifactId>
            <version>${com.querydsl.version}</version>
        </dependency>

        <dependency>
            <groupId>com.jcraft</groupId>
            <artifactId>jsch</artifactId>
            <version>${com.jcraft.version}</version>
        </dependency>

        <dependency>
            <groupId>com.opencsv</groupId>
            <artifactId>opencsv</artifactId>
            <version>${com.opencsv.version}</version>
        </dependency>

        <dependency>
            <groupId>org.javatuples</groupId>
            <artifactId>javatuples</artifactId>
            <version>${org.javatuples.version}</version>
        </dependency>

        <dependency>
            <groupId>com.okta.sdk</groupId>
            <artifactId>okta-sdk-api</artifactId>
            <version>${okta.version}</version>
        </dependency>
        <dependency>
            <groupId>com.okta.sdk</groupId>
            <artifactId>okta-sdk-impl</artifactId>
            <version>${okta.version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.okta.sdk</groupId>
            <artifactId>okta-sdk-httpclient</artifactId>
            <version>${okta.version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.okta.jwt</groupId>
            <artifactId>okta-jwt-verifier</artifactId>
            <version>${okta-jwt.version}</version>
        </dependency>

        <dependency>
            <groupId>com.okta.jwt</groupId>
            <artifactId>okta-jwt-verifier-impl</artifactId>
            <version>${okta-jwt.version}</version>
            <scope>runtime</scope>
        </dependency>

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

        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <type>jar</type>
        </dependency>

        <dependency>
            <groupId>com.okta.spring</groupId>
            <artifactId>okta-spring-boot-starter</artifactId>
            <version>${com.okta.spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.assertj</groupId>
            <artifactId>assertj-core</artifactId>
        </dependency>
        <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-java-sdk-s3</artifactId>
            <version>${aws.sdk.version}</version>
        </dependency>
        <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-java-sdk-transfer</artifactId>
            <version>${aws.sdk.version}</version>
        </dependency>
        <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-java-sdk-iam</artifactId>
            <version>${aws.sdk.version}</version>
        </dependency>

        <dependency>
            <groupId>io.kubernetes</groupId>
            <artifactId>client-java</artifactId>
            <version>8.0.2</version>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>net.ttddyy</groupId>
            <artifactId>datasource-proxy</artifactId>
            <version>1.7</version>
        </dependency>
    </dependencies>

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

4.0.0
org.springframework.boot
spring启动程序父级
2.2.1.发布
com.xperc
有效的
0.0.1-快照
有效的
有效8后端
1.8
2.9.2
1.5.21
1.5.21
1.3.1.最终版本
3.8.0
0.9.1
3.9
警告
2.7.4
5.3.2
4.2.2
0.1.55
5
1.2
1.5.4
0.4.0
1.3.0
1.11.820
org.springframework.boot
弹簧靴起动器执行器
org.springframework.boot
spring引导启动器数据jpa
org.springframework.boot
弹簧启动安全
org.springframework.boot
SpringBootStarterWeb
org.liquibase
液化酶核心
${liquibase core}
io.jsonwebtoken
jjwt
${jwt.version}
org.apache.commons
commons-lang3
${apache.commons.lang3.version}
org.springframework.boot
弹簧靴开发工具
运行时
真的
org.postgresql
postgresql
org.projectlombok
龙目
真的
org.springframework.boot
弹簧起动试验
测试
org.junit.vintage
朱尼特老式发动机
朱尼特
朱尼特
org.junit.jupiter
朱尼特木星发动机
${junit jupiter.version}
测试
伊奥·斯普林福克斯
springfox-Swagger 2
${swagger.version}
伊奥·斯普林福克斯
springfox招摇过市用户界面
${swagger.version}
昂首阔步
招摇过市的注解
${swagger annotations.version}
昂首阔步
招摇过市的模特
${swagger models.version}
org.mapstruct
映射结构
${org.mapstruct.version}
com.chargebee
chargebee爪哇
${com.chargebee.version}
org.mapstruct
mapstruct处理器
${org.mapstruct.version}
假如
com.querydsl
querydsl公寓
${com.querydsl.version}
假如
com.querydsl
querydsl jpa
${com.querydsl.version}
com.jcraft
jsch
${com.jcraft.version}
com.opencsv
opencsv
${com.opencsv.version}
org.javatuples
Java元组
${org.javatuples.version}
com.okta.sdk
okta sdk api
${okta.version}
com.okta.sdk
okta sdk impl
${okta.version}
运行时
com.okta.sdk
okta sdk httpclient
${okta.version}
运行时
com.okta.jwt
okta jwt验证器
${okta jwt.version}
com.okta.jwt
okta jwt验证程序impl
${okta jwt.version}
运行时
org.springframework.boot
spring启动程序数据redis
redis.clients
绝地武士
罐子
com.okta.spring
奥克塔弹簧启动机
${com.okta.spring.version}
org.springframework.security
弹簧安全性试验
测试
org.assertj
assertj核心
亚马逊网站
aws-java-sdk-s3
${aws.sdk.version}
亚马逊网站
aws java sdk传输
${aws.sdk.version}
亚马逊网站
aws java sdk iam
${aws.sdk.version}
库伯内特斯
客户端java
8.0.2
编译
net.ttddyy
数据源代理
1.7
org.springframework.boot
springbootmaven插件

提前感谢。

日志中显示“无法获取JDBC连接”。您的数据库是否已启动并正在运行?我的数据库已启动,但在触发extShutdownHook时已关闭。在关闭之前,您是否在postgres中发现任何错误?日志中显示“无法获取JDBC连接”。您的数据库是否已启动并运行?我的数据库已启动,但在触发extShutdownHook时已关闭。在关闭之前,您是否在postgres中发现任何错误?
<?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.2.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.xperc</groupId>
    <artifactId>valid8</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>valid8</name>
    <description>Valid 8 Backend</description>

    <properties>
        <java.version>1.8</java.version>
        <swagger.version>2.9.2</swagger.version>
        <swagger-annotations.version>1.5.21</swagger-annotations.version>
        <swagger-models.version>1.5.21</swagger-models.version>
        <org.mapstruct.version>1.3.1.Final</org.mapstruct.version>
        <liquibase-core>3.8.0</liquibase-core>
        <jwt.version>0.9.1</jwt.version>
        <apache.commons.lang3.version>3.9</apache.commons.lang3.version>
        <checkstyle.missing-javadoc.severity>warning</checkstyle.missing-javadoc.severity>
        <com.chargebee.version>2.7.4</com.chargebee.version>
        <junit-jupiter.version>5.3.2</junit-jupiter.version>
        <com.querydsl.version>4.2.2</com.querydsl.version>
        <com.jcraft.version>0.1.55</com.jcraft.version>
        <com.opencsv.version>5.0</com.opencsv.version>
        <org.javatuples.version>1.2</org.javatuples.version>
        <okta.version>1.5.4</okta.version>
        <okta-jwt.version>0.4.0</okta-jwt.version>
        <com.okta.spring.version>1.3.0</com.okta.spring.version>
        <aws.sdk.version>1.11.820</aws.sdk.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-core</artifactId>
            <version>${liquibase-core}</version>
        </dependency>
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt</artifactId>
            <version>${jwt.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>${apache.commons.lang3.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>junit</groupId>
                    <artifactId>junit</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- junit 5 -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>${junit-jupiter.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>${swagger.version}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>${swagger.version}</version>
        </dependency>
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-annotations</artifactId>
            <version>${swagger-annotations.version}</version>
        </dependency>
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-models</artifactId>
            <version>${swagger-models.version}</version>
        </dependency>

        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct</artifactId>
            <version>${org.mapstruct.version}</version>
        </dependency>

        <dependency>
            <groupId>com.chargebee</groupId>
            <artifactId>chargebee-java</artifactId>
            <version>${com.chargebee.version}</version>
        </dependency>

        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct-processor</artifactId>
            <version>${org.mapstruct.version}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.querydsl</groupId>
            <artifactId>querydsl-apt</artifactId>
            <version>${com.querydsl.version}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.querydsl</groupId>
            <artifactId>querydsl-jpa</artifactId>
            <version>${com.querydsl.version}</version>
        </dependency>

        <dependency>
            <groupId>com.jcraft</groupId>
            <artifactId>jsch</artifactId>
            <version>${com.jcraft.version}</version>
        </dependency>

        <dependency>
            <groupId>com.opencsv</groupId>
            <artifactId>opencsv</artifactId>
            <version>${com.opencsv.version}</version>
        </dependency>

        <dependency>
            <groupId>org.javatuples</groupId>
            <artifactId>javatuples</artifactId>
            <version>${org.javatuples.version}</version>
        </dependency>

        <dependency>
            <groupId>com.okta.sdk</groupId>
            <artifactId>okta-sdk-api</artifactId>
            <version>${okta.version}</version>
        </dependency>
        <dependency>
            <groupId>com.okta.sdk</groupId>
            <artifactId>okta-sdk-impl</artifactId>
            <version>${okta.version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.okta.sdk</groupId>
            <artifactId>okta-sdk-httpclient</artifactId>
            <version>${okta.version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.okta.jwt</groupId>
            <artifactId>okta-jwt-verifier</artifactId>
            <version>${okta-jwt.version}</version>
        </dependency>

        <dependency>
            <groupId>com.okta.jwt</groupId>
            <artifactId>okta-jwt-verifier-impl</artifactId>
            <version>${okta-jwt.version}</version>
            <scope>runtime</scope>
        </dependency>

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

        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <type>jar</type>
        </dependency>

        <dependency>
            <groupId>com.okta.spring</groupId>
            <artifactId>okta-spring-boot-starter</artifactId>
            <version>${com.okta.spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.assertj</groupId>
            <artifactId>assertj-core</artifactId>
        </dependency>
        <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-java-sdk-s3</artifactId>
            <version>${aws.sdk.version}</version>
        </dependency>
        <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-java-sdk-transfer</artifactId>
            <version>${aws.sdk.version}</version>
        </dependency>
        <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-java-sdk-iam</artifactId>
            <version>${aws.sdk.version}</version>
        </dependency>

        <dependency>
            <groupId>io.kubernetes</groupId>
            <artifactId>client-java</artifactId>
            <version>8.0.2</version>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>net.ttddyy</groupId>
            <artifactId>datasource-proxy</artifactId>
            <version>1.7</version>
        </dependency>
    </dependencies>

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