# 数据源配置
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.mysql.cj.jdbc.Driver
    druid:
      # 主库数据源
      master:
        url: jdbc:mysql://localhost:3306/zh-mes-device-db?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true
        username: root
        password: zh@123456
      # 从库数据源
      slave:
        # 从数据源开关/默认关闭
        enabled: false
        url:
        username:
        password:

      # ==================== 连接池核心优化配置 ====================
      # 1. 连接池大小优化（针对Quartz高频短任务特点）
      initialSize: 15           # 初始化连接数增加到15，应对Quartz启动时并发需求
      minIdle: 15               # 最小空闲连接保持15，避免连接频繁创建销毁
      maxActive: 50             # 最大连接数增加到50，考虑72个Job并发 + 业务连接

      # 2. 连接获取优化（解决Quartz获取连接超时问题）
      maxWait: 30000             # 获取连接最大等待时间5秒，避免Quartz线程阻塞

      # 3. 连接保活核心配置（解决"discard long time none received connection"警告）
      timeBetweenEvictionRunsMillis: 30000     # 检测间隔30秒，更频繁检查连接有效性
      minEvictableIdleTimeMillis: 300000       # 连接最小生存时间5分钟
      maxEvictableIdleTimeMillis: 600000       # 连接最大生存时间10分钟

      # 4. 连接有效性检测强化（关键修复）
      validationQuery: SELECT 1                # 连接有效性检测SQL
      testWhileIdle: true                      # 空闲时检测连接有效性（必须开启）
      testOnBorrow: true                       # 借用时检测连接有效性（关键：确保Quartz拿到有效连接）
      testOnReturn: false                      # 归还时不检测（性能考虑）
      validationQueryTimeout: 2000             # 验证查询超时2秒

      # 5. 连接保活机制（新增）
      keepAlive: true                          # 开启连接保活
      keepAliveBetweenTimeMillis: 30000        # 保活执行间隔30秒
      phyTimeoutMillis: 1200000                # 物理连接超时20分钟

      # 6. 连接泄露检测（保留原有配置）
      removeAbandoned: true
      removeAbandonedTimeout: 300
      logAbandoned: true

      # 7. 过滤器配置
      webStatFilter:
        enabled: true
      statViewServlet:
        enabled: true
        allow:
        url-pattern: /druid/*
        login-username: ruoyi
        login-password: 123456
      filter:
        stat:
          enabled: true
          log-slow-sql: true
          slow-sql-millis: 1000
          merge-sql: true
        wall:
          config:
            multi-statement-allow: true

  # redis 配置（保持不变）
  redis:
    host: 127.0.0.1
    port: 6379
    database: 0
    password:
    timeout: 10s
    lettuce:
      pool:
        min-idle: 0
        max-idle: 8
        max-active: 8
        max-wait: -1ms

# 其他配置保持不变...
zehong:
  name: Zehong
  version: 3.5.0
  copyrightYear: 2021
  demoEnabled: true
  profile: D:/zhmes-agecal/uploadPath
  addressEnabled: false
  captchaType: math

netty:
  port: 6001
  boss-group-thread-count: 1
  worker-group-thread-count: 8
  max-frame-length: 65535
  heartbeat-timeout: 10

robot:
  arm:
    udp:
      ip: 127.0.0.1
      port: 6000