Files
amily-model-template/src/main/resources/application.properties
2026-01-17 08:59:21 +08:00

82 lines
3.5 KiB
Properties

spring.application.name=template-service
server.port=${SERVER_PORT:8080}
server.forward-headers-strategy=framework
# ===================================================================
# Primary DataSource (MySQL) - Business Data
# ===================================================================
spring.datasource.primary.hikari.connection-timeout=30000
spring.datasource.primary.hikari.maximum-pool-size=50
spring.datasource.primary.hikari.minimum-idle=10
spring.datasource.primary.hikari.idle-timeout=300000
spring.datasource.primary.hikari.max-lifetime=600000
spring.datasource.primary.hikari.keepalive-time=60000
spring.datasource.primary.hikari.connection-test-query=SELECT 1
spring.datasource.primary.hikari.validation-timeout=5000
spring.datasource.primary.hikari.leak-detection-threshold=60000
# 数据库配置
spring.datasource.primary.url=${DB_URL:jdbc:mysql://127.0.0.1:3306/template_db?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai}
spring.datasource.primary.username=${DB_USERNAME:root}
spring.datasource.primary.password=${DB_PASSWORD:}
spring.datasource.primary.driver-class-name=com.mysql.cj.jdbc.Driver
# Flyway
spring.jpa.hibernate.ddl-auto=validate
# ===================================================================
# Secondary DataSource (PostgreSQL) - Warehouse / Logs
# ===================================================================
spring.datasource.secondary.url=${WAREHOUSE_DB_URL:jdbc:postgresql://127.0.0.1:5432/template_warehouse}
spring.datasource.secondary.username=${WAREHOUSE_DB_USERNAME:postgres}
spring.datasource.secondary.password=${WAREHOUSE_DB_PASSWORD:postgres}
spring.datasource.secondary.driver-class-name=org.postgresql.Driver
spring.datasource.secondary.hikari.connection-timeout=30000
spring.datasource.secondary.hikari.maximum-pool-size=20
spring.datasource.secondary.hikari.minimum-idle=5
spring.datasource.secondary.hikari.keepalive-time=60000
# OpenAPI / Swagger
springdoc.swagger-ui.enabled=true
springdoc.api-docs.path=/v3/api-docs
springdoc.swagger-ui.path=/swagger-ui.html
springdoc.swagger-ui.operationsSorter=alpha
springdoc.swagger-ui.tagsSorter=alpha
springdoc.swagger-ui.display-request-duration=true
# Redis
spring.data.redis.host=${REDIS_HOST:localhost}
spring.data.redis.port=6379
spring.data.redis.password=${REDIS_PWD:}
# JWT Secret Key Configuration
# IMPORTANT: Replace this in production!
amily.jwt.secret=${AMILY_JWT_SECRET:YyNTIzL1snXG0oISVeKFNeJWUhXSpVLSpALXtNWyNeOXIgWyZePShNVHlYPl0uPnZDJV45UnIuWyZeIChNUHlYPl0uPnZD}
# Mail Configuration
spring.mail.host=${MAIL_HOST:smtp.example.com}
spring.mail.port=${MAIL_PORT:587}
spring.mail.username=${MAIL_USERNAME:}
spring.mail.password=${MAIL_PASSWORD:}
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.properties.mail.debug=false
spring.mail.default-encoding=UTF-8
# Timezone
app.time-zone=${APP_TIMEZONE:Asia/Shanghai}
spring.jackson.time-zone=${app.time-zone}
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
# Quartz Scheduler
spring.quartz.job-store-type=jdbc
spring.quartz.jdbc.initialize-schema=never
spring.quartz.properties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
spring.quartz.properties.org.quartz.jobStore.tablePrefix=QRTZ_
spring.quartz.properties.org.quartz.jobStore.isClustered=false
spring.quartz.properties.org.quartz.scheduler.instanceName=TemplateScheduler
spring.quartz.properties.org.quartz.scheduler.instanceId=AUTO