Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como iniciar o aplicativo spring-boot sem depender do banco de dados?


Era realmente um osso duro de roer.

Depois de muita e muita pesquisa e realmente depurando o spring-boot, spring, hibernate, tomcat pool, etc.

Eu acho que isso economizará muito tempo para as pessoas que tentam atingir esse tipo de requisito.

Abaixo estão as configurações necessárias para atingir o seguinte requisito
  1. Os aplicativos de inicialização por mola iniciarão bem mesmo se o banco de dados estiver inativo ou se não houver banco de dados.
  2. Os aplicativos capturarão as conexões rapidamente à medida que o banco de dados for ativado, o que significa que não há necessidade de reiniciar o servidor da Web ou reimplantar os aplicativos.
  3. Não há necessidade de iniciar o tomcat ou reimplantar os aplicativos, se o banco de dados sair do estado de execução e voltar a funcionar.

application.yml :
spring:
  datasource:
    driverClassName: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/schema
    username: root
    password: root
    continueOnError: true
    initialize: false
    initialSize: 0
    timeBetweenEvictionRunsMillis: 5000
    minEvictableIdleTimeMillis: 5000
    minIdle: 0

  jpa:
    show-sql: true
    hibernate:
      ddl-auto: none
      naming_strategy: org.hibernate.cfg.DefaultNamingStrategy
    properties:
      hibernate:   
        dialect: org.hibernate.dialect.MySQL5Dialect
        hbm2ddl:
          auto: none
        temp:
          use_jdbc_metadata_defaults: false