server:
  port: 8081

spring:
  cloud:
    refresh:
      enabled: true
  devtools:
    restart:
      enabled: false
    add-properties: false      
  application:
    name: spring-batch-quartz
  datasource:
    primary:
      driver-class-name: org.h2.Driver
      url: 'jdbc:h2:mem:app'
      username: mindol1004
      password: 1111
      hikari:
        pool-name: HikariPool-1
        maximum-pool-size: 10
        minimum-idle: 5
        idle-timeout: 60000
    secondary:
      driver-class-name: org.h2.Driver
      url: 'jdbc:h2:mem:mob'
      username: mindol1004
      password: 1111
      hikari:
        pool-name: HikariPool-2
        maximum-pool-size: 10
        minimum-idle: 5
        idle-timeout: 60000
#  sql:
#    init:
#      mode: always
#      schema-locations:
#      - classpath:sql-schema/test-schema.sql
#      - classpath:quartz-schema.sql

  jpa:
    open-in-view: false
    database-platform: org.hibernate.dialect.H2Dialect
    #show-sql: true
    hibernate:
      ddl-auto: create
    properties:
      hibernate:
        dialect: org.hibernate.dialect.H2Dialect
        "[format_sql]": true      # 쿼리 로그 포맷 (정렬)
        #"[show_sql]": true        # 쿼리 로그 출력
        "[highlight_sql]": true   # 쿼리 하이라이트
        "[use_sql_comments]": true # SQL 주석 사용
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

  batch:
    job:
      enabled: false
    jdbc:
      initialize-schema: always

  quartz:
    jdbc:
      initialize-schema: always
    wait-for-jobs-to-complete-on-shutdown: true
    job-store-type: jdbc
    properties:
      org:
        quartz:
          scheduler:
            instanceName: BatchQuartzScheduler
            instanceId: AUTO
          jobStore:
            class: org.quartz.impl.jdbcjobstore.JobStoreTX
            driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
            tablePrefix: QRTZ_
            isClustered: true
            clusterCheckinInterval: 20000
          threadPool:
            class: org.quartz.simpl.SimpleThreadPool
            threadCount: 10
            threadPriority: 5

  thymeleaf:
    cache: false
    check-template-location: false
    enabled: true
    prefix: classpath:/templates/
    suffix: .html
    view-names: pages/*            

  h2:
    console: # H2 DB를 웹에서 관리할 수 있는 기능
      enabled: true           # H2 Console 사용 여부
      path: /h2-console       # H2 Console 접속 주소
      settings:
        web-allow-others: true

batch-info:
  email-send-batch:
    group: "EMAIL"
    job-name: "emailSendJob"
    cron-expression: "*/20 * * * * ?"
    description: "이메일배치작업"
  post-batch:
    group: "POST"
    job-name: "postJob"
    cron-expression: "0/20 * * * * ?"
    description: "POST배치작업"    
  post-create-batch:
    group: "POST"
    job-name: "postCreateJob"
    cron-expression: "0/30 * * * * ?"
    description: "테스트배치작업"           

jwt:
  access-token:
    secret: bnhjdXMyLjAtcGxhdGZvcm0tcHJvamVjdC13aXRoLXNwcmluZy1ib290bnhjdF9zdHJvbmdfY29tcGxleF9zdHJvbmc=
    expiration: 15
  refresh-token:
    secret: bnhjdXMyLjAtcGxhdGZvcm0tcHJvamVjdC13aXRoLXNwcmluZy1ib290bnhjdF9zdHJvbmdfY29tcGxleF9zdHJvbmc=
    expiration: 10080

management:
  endpoints:
    web:
      exposure:
        include: refresh

logging:
  level:
    org:
      hibernate:
        SQL: debug
        type:
          descriptor:
            sql: trace