--- #################### 注册中心 + 配置中心相关配置 ####################

spring:
  main:
    allow-bean-definition-overriding: true # 允许 bean 定义覆盖，解决 FeignClientSpecification 冲突
  autoconfigure:
    exclude:
      - com.xindazhou.framework.security.config.YudaoWebSecurityConfigurerAdapter # 禁用 Security 配置适配器，message-server 不需要
      - org.springdoc.openapi.starter.webmvc.ui.SpringDocWebMvcUiConfiguration # 禁用 SpringDoc UI 配置
      - org.springdoc.openapi.starter.common.SpringDocCommonConfiguration # 禁用 SpringDoc 通用配置
  cloud:
    nacos:
      discovery:
        enabled: false # 禁用 Nacos 服务发现，本地开发不需要 Nacos
      config:
        enabled: false # 禁用 Nacos 配置中心，本地开发不需要 Nacos
        import-check:
          enabled: false # 禁用 Nacos 配置检查，本地开发不需要 Nacos
    openfeign:
      enabled: true  # 启用 Feign 客户端，需要调用车辆服务
      client:
        config:
          default:
            connectTimeout: 5000
            readTimeout: 10000
            loggerLevel: basic
          xdz-vehicle-server:  # 车辆服务地址（消息服务调用 VehicleControlApi）
            url: http://localhost:18083  # 本地开发时，直接指定车辆服务地址（无 context-path）

--- #################### 数据库相关配置 ####################
spring:
  datasource:
    dynamic:
      primary: master
      datasource:
        master:
          url: jdbc:mysql://127.0.0.1:3306/xdz_message?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8
          driver-class-name: com.mysql.cj.jdbc.Driver
          username: root
          password: Xiuxiu@087

  # Redis 配置
  data:
    redis:
      host: 127.0.0.1
      port: 6379
      database: 0
      # password: # Redis 密码，没有则留空
      timeout: 10s
      lettuce:
        pool:
          min-idle: 0
          max-idle: 8
          max-active: 8
          max-wait: -1ms

--- #################### SpringDoc/Swagger 配置 ####################

# 禁用 SpringDoc/Swagger（message-server 不需要 API 文档）
springdoc:
  api-docs:
    enabled: false
  swagger-ui:
    enabled: false

--- #################### 日志配置 ####################
logging:
  level:
    com.xindazhou.message: DEBUG

--- #################### 服务间 JWT 配置 ####################

xdz:
  security:
    service-jwt:
      enabled: true # 启用服务间 JWT 验证
      private-key-path: classpath:jwt/service_jwt_private_key.pem # 私钥路径（用于生成 Token，消息服务需要调用车辆服务）
      public-key-path: classpath:jwt/service_jwt_public_key.pem # 公钥路径（用于验证 Token）
      expire-time: 3600 # Token 过期时间（秒），默认 1 小时
    oauth2-jwt:
      enabled: true # 启用 OAuth2 JWT Token 验证（统一使用 JWT 格式）
      public-key-path: classpath:jwt/oauth2_jwt_public_key.pem # 公钥路径（用于验证 Token，消息服务不需要私钥）

