# 数据源配置
spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        # 动态数据源文档 https://www.kancloud.cn/tracy5546/dynamic-datasource/content
        dynamic:
            # 性能分析插件(有性能损耗 不建议生产环境使用)
            p6spy: true
            # 设置默认的数据源或者数据源组,默认值即为 master
            primary: master
            datasource:
                # 主库数据源
                master:
                    driverClassName: org.postgresql.Driver
                    url: jdbc:postgresql://xt.wenhq.top:8284/tocc-sq?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true
                    username: postgres
                    password: postgres
                # 从库数据源
                slave:
                    lazy: true
                    driverClassName: org.postgresql.Driver
                    url: jdbc:postgresql://10.11.208.200:5872/dbplugin?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
                    username: dbplugin
                    password: db(456)plu!!
            druid:
                # 初始连接数
                initialSize: 5
                # 最小连接池数量
                minIdle: 10
                # 最大连接池数量
                maxActive: 20
                # 配置获取连接等待超时的时间
                maxWait: 60000
                # 配置间隔多久才进行一次检测，检测需要关闭的空闲连接，单位是毫秒
                timeBetweenEvictionRunsMillis: 60000
                # 配置一个连接在池中最小生存的时间，单位是毫秒
                minEvictableIdleTimeMillis: 300000
                # 配置一个连接在池中最大生存的时间，单位是毫秒
                maxEvictableIdleTimeMillis: 900000
                # 配置检测连接是否有效
                validationQuery: SELECT 1
                testWhileIdle: true
                testOnBorrow: false
                testOnReturn: false
                # 注意这个值和druid原生不一致，默认启动了stat
                filters: stat

--- # druid 配置
spring:
    datasource:
        druid:
            webStatFilter:
                enabled: true
            statViewServlet:
                enabled: true
                # 设置白名单，不填则允许所有访问
                allow:
                url-pattern: /druid/*
                # 控制台管理用户名和密码
                login-username: ruoyi
                login-password: 123456
            filter:
                stat:
                    enabled: true
                    # 慢SQL记录
                    log-slow-sql: true
                    slow-sql-millis: 1000
                    merge-sql: true
                wall:
                    config:
                        multi-statement-allow: true

--- # redis 配置
spring:
    redis:
        # 地址
        host: 127.0.0.1
        # 端口，默认为6379
        port: 6379
        # 数据库索引
        database: 10
        # 密码
        password: ficot!redis!
        # 连接超时时间
        timeout: 10s
        # 是否开启ssl
        ssl: false

--- # kafaka 配置
spring:
    kafka:
        # 指定kafkaserver的地址，集群配多个，中间，逗号隔开
        bootstrap-servers: 200.200.19.121:9092
        producer:
            #procedure要求leader在考虑完成请求之前收到的确认数，用于控制发送记录在服务端的持久化，其值可以为如下：
            #acks = 0 如果设置为零，则生产者将不会等待来自服务器的任何确认，该记录将立即添加到套接字缓冲区并视为已发送。在这种情况下，无法保证服务器已收到记录，并且重试配置将不会生效（因为客户端通常不会知道任何故障），为每条记录返回的偏移量始终设置为-1。
            #acks = 1 这意味着leader会将记录写入其本地日志，但无需等待所有副本服务器的完全确认即可做出回应，在这种情况下，如果leader在确认记录后立即失败，但在将数据复制到所有的副本服务器之前，则记录将会丢失。
            #acks = all 这意味着leader将等待完整的同步副本集以确认记录，这保证了只要至少一个同步副本服务器仍然存活，记录就不会丢失，这是最强有力的保证，这相当于acks = -1的设置。
            #可以设置的值为：all, -1, 0, 1
            acks: 1
            # 每次批量发送消息的数量,produce积累到一定数据，一次发送
            batch-size: 16384
            # produce积累数据一次发送，缓存大小达到buffer.memory就发送数据
            buffer-memory: 33554432
            # 写入失败时，重试次数。当leader节点失效，一个repli节点会替代成为leader节点，此时可能出现写入失败，
            # 当retris为0时，produce不会重复。retirs重发，此时repli节点完全成为leader节点，不会产生消息丢失。
            retries: 0
            # 指定消息key和消息体的编解码方式
            key-serializer: org.apache.kafka.common.serialization.StringSerializer
            value-serializer: org.apache.kafka.common.serialization.StringSerializer
        consumer:
            # 默认的消费组ID
            group-id: defaultConsumerGroup
            enable-auto-commit: true
            auto-offset-reset: latest
            key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
            value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
            auto-commit-interval: 1000
redisson:
    # 线程池数量
    threads: 16
    # Netty线程池数量
    nettyThreads: 32
    # 传输模式
    transportMode: "NIO"
    # 单节点配置
    singleServerConfig:
        # 客户端名称
        clientName: ${ruoyi.name}
        # 最小空闲连接数
        connectionMinimumIdleSize: 32
        # 连接池大小
        connectionPoolSize: 64
        # 连接空闲超时，单位：毫秒
        idleConnectionTimeout: 10000
        # 命令等待超时，单位：毫秒
        timeout: 3000
        # 如果尝试在此限制之内发送成功，则开始启用 timeout 计时。
        retryAttempts: 3
        # 命令重试发送时间间隔，单位：毫秒
        retryInterval: 1500
        # 发布和订阅连接的最小空闲连接数
        subscriptionConnectionMinimumIdleSize: 1
        # 发布和订阅连接池大小
        subscriptionConnectionPoolSize: 50
        # 单个连接最大订阅数量
        subscriptionsPerConnection: 5
        # DNS监测时间间隔，单位：毫秒
        dnsMonitoringInterval: 5000

ruoyi:
    # 文件路径 示例（ Windows配置D:/tocc/uploadPath，Linux配置 /xintong/server/uploadPath）
    profile: /Users/huangcheng/home


