# dubbo dubbo: protocol: name: dubbo port: 20881 application: qos-enable: false logger: slf4j name: ${spring.application.name} # 注册中心配置 registry: address: nacos://nacos-registry:8848 group: DUBBO_GROUP parameters: namespace: c5c00044-93e6-4e66-8060-3f39aa7ab82b consumer: # 结果缓存(LRU算法) # 会有数据不一致问题 建议在注解局部开启 cache: false # 支持校验注解 validation: jvalidationNew # 调用重试 不包括第一次 0为不需要重试 retries: 0 # 初始化检查 check: false captcha: enable: true # 页面 <参数设置> 可开启关闭 验证码校验 # 验证码类型 math 数组计算 char 字符验证 type: MATH # line 线段干扰 circle 圆圈干扰 shear 扭曲干扰 category: CIRCLE # 数字验证码位数 numberLength: 1 # 字符验证码长度 charLength: 4 # 开发环境配置 server: servlet: # 应用的访问路径 context-path: / # undertow 配置 undertow: # HTTP post内容的最大大小。当值为-1时,默认值为大小是无限的 max-http-post-size: -1 # 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理 # 每块buffer的空间大小,越小的空间被利用越充分 buffer-size: 512 # 是否分配的直接内存 direct-buffers: true threads: # 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程 io: 8 # 阻塞任务线程池, 当执行类似servlet请求阻塞操作, undertow会从这个线程池中取得线程,它的值设置取决于系统的负载 worker: 256 # 日志配置 logging: level: org.dromara: @logging.level@ org.springframework: warn org.mybatis.spring.mapper: error config: classpath:logback-plus.xml # 用户配置 user: password: # 密码最大错误次数 maxRetryCount: 5 # 密码锁定时间(默认10分钟) lockTime: 10 # Sa-Token配置 sa-token: # token名称 (同时也是cookie名称) token-name: Authorization # 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录) is-concurrent: true # 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token) is-share: false # jwt秘钥 jwt-secret-key: abcdefghijklmnopqrstuvwxyz # token前缀 token-prefix: "Bearer" # security配置 security: # 排除路径 excludes: # 静态资源 - /*.html - /**/*.html - /**/*.css - /**/*.js # 公共路径 - /favicon.ico - /error # swagger 文档配置 - /*/api-docs - /*/api-docs/** # 多租户配置 tenant: # 是否开启 enable: true # 排除表 excludes: - sys_menu - sys_tenant - sys_tenant_package - sys_application - sys_role_dept - sys_role_menu - sys_user_post - sys_user_role - sys_client - sys_oss_config - sys_saas_menu - sys_saas_tenant - sys_saas_tenant_package - sys_saas_application - sys_saas_role_dept - sys_saas_role_menu - sys_saas_user_post - sys_saas_user_role # MyBatisPlus配置 # https://baomidou.com/config/ mybatis-plus: # 多包名使用 例如 org.dromara.**.mapper,org.xxx.**.mapper mapperPackage: org.dromara.**.mapper # 对应的 XML 文件位置 mapperLocations: classpath*:mapper/**/*Mapper.xml # 实体扫描,多个package用逗号或者分号分隔 typeAliasesPackage: org.dromara.**.domain global-config: dbConfig: # 主键类型 # AUTO 自增 NONE 空 INPUT 用户输入 ASSIGN_ID 雪花 ASSIGN_UUID 唯一 UUID # 如需改为自增 需要将数据库表全部设置为自增 idType: ASSIGN_ID # 数据加密 mybatis-encryptor: # 是否开启加密 enable: false # 默认加密算法 algorithm: BASE64 # 编码方式 BASE64/HEX。默认BASE64 encode: BASE64 # 安全秘钥 对称算法的秘钥 如:AES,SM4 password: # 公私钥 非对称算法的公私钥 如:SM2,RSA publicKey: privateKey: # api接口加密 api-decrypt: # 是否开启全局接口加密 enabled: true # AES 加密头标识 headerFlag: encrypt-key # 响应加密公钥 非对称算法的公私钥 如:SM2,RSA 使用者请自行更换 # 对应前端解密私钥 MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAmc3CuPiGL/LcIIm7zryCEIbl1SPzBkr75E2VMtxegyZ1lYRD+7TZGAPkvIsBcaMs6Nsy0L78n2qh+lIZMpLH8wIDAQABAkEAk82Mhz0tlv6IVCyIcw/s3f0E+WLmtPFyR9/WtV3Y5aaejUkU60JpX4m5xNR2VaqOLTZAYjW8Wy0aXr3zYIhhQQIhAMfqR9oFdYw1J9SsNc+CrhugAvKTi0+BF6VoL6psWhvbAiEAxPPNTmrkmrXwdm/pQQu3UOQmc2vCZ5tiKpW10CgJi8kCIFGkL6utxw93Ncj4exE/gPLvKcT+1Emnoox+O9kRXss5AiAMtYLJDaLEzPrAWcZeeSgSIzbL+ecokmFKSDDcRske6QIgSMkHedwND1olF8vlKsJUGK3BcdtM8w4Xq7BpSBwsloE= publicKey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJnNwrj4hi/y3CCJu868ghCG5dUj8wZK++RNlTLcXoMmdZWEQ/u02RgD5LyLAXGjLOjbMtC+/J9qofpSGTKSx/MCAwEAAQ== # 请求解密私钥 非对称算法的公私钥 如:SM2,RSA 使用者请自行更换 # 对应前端加密公钥 MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ== privateKey: MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAqhHyZfSsYourNxaY7Nt+PrgrxkiA50efORdI5U5lsW79MmFnusUA355oaSXcLhu5xxB38SMSyP2KvuKNPuH3owIDAQABAkAfoiLyL+Z4lf4Myxk6xUDgLaWGximj20CUf+5BKKnlrK+Ed8gAkM0HqoTt2UZwA5E2MzS4EI2gjfQhz5X28uqxAiEA3wNFxfrCZlSZHb0gn2zDpWowcSxQAgiCstxGUoOqlW8CIQDDOerGKH5OmCJ4Z21v+F25WaHYPxCFMvwxpcw99EcvDQIgIdhDTIqD2jfYjPTY8Jj3EDGPbH2HHuffvflECt3Ek60CIQCFRlCkHpi7hthhYhovyloRYsM+IS9h/0BzlEAuO0ktMQIgSPT3aFAgJYwKpqRYKlLDVcflZFCKY7u3UP8iWi1Qw0Y= springdoc: api-docs: # 是否开启接口文档 enabled: true # swagger-ui: # # 持久化认证数据 # persistAuthorization: true info: # 标题 title: '标题:${spring.application.name}多租户管理系统_接口文档' # 描述 description: '描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...' # 版本 version: '版本号: 1.0.0' # 作者信息 contact: name: Lion Li email: crazylionli@163.com url: https://gitee.com/dromara/RuoYi-Vue-Plus components: # 鉴权方式配置 security-schemes: apiKey: type: APIKEY in: HEADER name: ${sa-token.token-name} #这里定义了两个分组,可定义多个,也可以不定义 group-configs: - group: 1.演示模块 packages-to-scan: org.dromara.demo - group: 2.通用模块 packages-to-scan: org.dromara.web - group: 3.系统模块 packages-to-scan: org.dromara.system - group: 4.代码生成模块 packages-to-scan: org.dromara.generator # 防止XSS攻击 xss: # 过滤开关 enabled: true # 排除链接(多个用逗号分隔) excludes: /system/notice # 匹配链接 urlPatterns: /system/*,/monitor/*,/tool/* # 全局线程池相关配置 # 如使用JDK21请直接使用虚拟线程 不要开启此配置 thread-pool: # 是否开启线程池 enabled: false # 队列最大长度 queueCapacity: 128 # 线程池维护线程所允许的空闲时间 keepAliveSeconds: 300 --- # Spring配置 spring: threads: # 开启虚拟线程 仅jdk21可用 virtual: enabled: false # 资源信息 messages: # 国际化资源文件路径 basename: i18n/messages # 文件上传 servlet: multipart: # 单个文件大小 max-file-size: 10MB # 设置总上传的文件大小 max-request-size: 20MB mvc: # 设置静态资源路径 防止所有请求都去查静态资源 static-path-pattern: /static/** format: date-time: yyyy-MM-dd HH:mm:ss jackson: # 日期格式化 date-format: yyyy-MM-dd HH:mm:ss serialization: # 格式化输出 indent_output: false # 忽略无法转换的对象 fail_on_empty_beans: false deserialization: # 允许对象忽略json中不存在的属性 fail_on_unknown_properties: false --- # 分布式锁 lock4j 全局配置 lock4j: # 获取分布式锁超时时间,默认为 3000 毫秒 acquire-timeout: 3000 # 分布式锁的超时时间,默认为 30 秒 expire: 30000 --- # Actuator 监控端点的配置项 management: endpoints: web: exposure: include: '*' endpoint: health: show-details: ALWAYS logfile: external-file: ./logs/sys-console.log --- # 默认/推荐使用sse推送 sse: enabled: true path: /resource/sse --- # websocket websocket: # 如果关闭 需要和前端开关一起关闭 enabled: false # 路径 path: /resource/websocket # 设置访问源地址 allowedOrigins: '*' --- #flowable配置 flowable: # 开关 用于启动/停用工作流 enabled: true process.enabled: ${flowable.enabled} eventregistry.enabled: ${flowable.enabled} async-executor-activate: false #关闭定时任务JOB # 将databaseSchemaUpdate设置为true。当Flowable发现库与数据库表结构不一致时,会自动将数据库表结构升级至新版本。 database-schema-update: true activity-font-name: 宋体 label-font-name: 宋体 annotation-font-name: 宋体 # 关闭各个模块生成表,目前只使用工作流基础表 idm: enabled: false cmmn: enabled: false dmn: enabled: false app: enabled: false --- # 监控中心配置 spring.boot.admin.client: # 增加客户端开关 enabled: false url: http://localhost:9090/admin instance: service-host-type: IP metadata: username: ${spring.boot.admin.client.username} userpassword: ${spring.boot.admin.client.password} username: ruoyi password: 123456 --- # snail-job 配置 snail-job: enabled: false # 需要在 SnailJob 后台组管理创建对应名称的组,然后创建任务的时候选择对应的组,才能正确分派任务 group: "ruoyi_group" # SnailJob 接入验证令牌 详见 script/sql/snail_job.sql `sj_group_config` 表 token: "SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT" server: host: 127.0.0.1 port: 17888 # 详见 script/sql/snail_job.sql `sj_namespace` 表 namespace: ${spring.profiles.active} # 随主应用端口飘逸 port: 2${server.port} --- # 数据源配置 spring: datasource: type: com.zaxxer.hikari.HikariDataSource # 动态数据源文档 https://www.kancloud.cn/tracy5546/dynamic-datasource/content dynamic: # 性能分析插件(有性能损耗 不建议生产环境使用) p6spy: true # 设置默认的数据源或者数据源组,默认值即为 master primary: master # 严格模式 匹配不到数据源则报错 strict: true datasource: # 主库数据源 master: type: ${spring.datasource.type} driverClassName: com.mysql.cj.jdbc.Driver # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562 # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题) url: jdbc:mysql://mysql:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true username: root password: root # 从库数据源 slave: lazy: true type: ${spring.datasource.type} driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://mysql:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true username: root password: root hikari: # 最大连接池数量 maxPoolSize: 20 # 最小空闲线程数量 minIdle: 10 # 配置获取连接等待超时的时间 connectionTimeout: 30000 # 校验超时时间 validationTimeout: 5000 # 空闲连接存活最大时间,默认10分钟 idleTimeout: 600000 # 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认30分钟 maxLifetime: 1800000 # 多久检查一次连接的活性 keepaliveTime: 30000 --- # redis 单机配置(单机与集群只能开启一个另一个需要注释掉) spring.data: redis: host: redis # Redis服务器地址 database: 0 # Redis数据库索引(默认为0) port: 6379 # Redis服务器连接端口 password: abc8800580/ # 连接超时时间 timeout: 10s # 是否开启ssl ssl.enabled: false # redisson 配置 redisson: # redis key前缀 keyPrefix: # 线程池数量 threads: 4 # Netty线程池数量 nettyThreads: 8 # 单节点配置 singleServerConfig: # 客户端名称 clientName: ${spring.application.name} # 最小空闲连接数 connectionMinimumIdleSize: 8 # 连接池大小 connectionPoolSize: 32 # 连接空闲超时,单位:毫秒 idleConnectionTimeout: 10000 # 命令等待超时,单位:毫秒 timeout: 3000 # 发布和订阅连接池大小 subscriptionConnectionPoolSize: 50 --- # mail 邮件发送 mail: enabled: false host: smtp.163.com port: 465 # 是否需要用户名密码验证 auth: true # 发送方,遵循RFC-822标准 from: xxx@163.com # 用户名(注意:如果使用foxmail邮箱,此处user为qq号) user: xxx@163.com # 密码(注意,某些邮箱需要为SMTP服务单独设置密码,详情查看相关帮助) pass: xxxxxxxxxx # 使用 STARTTLS安全连接,STARTTLS是对纯文本通信协议的扩展。 starttlsEnable: true # 使用SSL安全连接 sslEnable: true # SMTP超时时长,单位毫秒,缺省值不超时 timeout: 0 # Socket连接超时值,单位毫秒,缺省值不超时 connectionTimeout: 0 --- # sms 短信 支持 阿里云 腾讯云 云片 等等各式各样的短信服务商 # https://sms4j.com/doc3/ 差异配置文档地址 支持单厂商多配置,可以配置多个同时使用 sms: # 配置源类型用于标定配置来源(interface,yaml) config-type: yaml # 用于标定yml中的配置是否开启短信拦截,接口配置不受此限制 restricted: true # 短信拦截限制单手机号每分钟最大发送,只对开启了拦截的配置有效 minute-max: 1 # 短信拦截限制单手机号每日最大发送量,只对开启了拦截的配置有效 account-max: 30 # 以下配置来自于 org.dromara.sms4j.provider.config.BaseConfig类中 blends: # 唯一ID 用于发送短信寻找具体配置 随便定义别用中文即可 # 可以同时存在两个相同厂商 例如: ali1 ali2 两个不同的阿里短信账号 也可用于区分租户 config1: # 框架定义的厂商名称标识,标定此配置是哪个厂商,详细请看厂商标识介绍部分 supplier: alibaba # 有些称为accessKey有些称之为apiKey,也有称为sdkKey或者appId。 access-key-id: 您的accessKey # 称为accessSecret有些称之为apiSecret access-key-secret: 您的accessKeySecret signature: 您的短信签名 sdk-app-id: 您的sdkAppId config2: # 厂商标识,标定此配置是哪个厂商,详细请看厂商标识介绍部分 supplier: tencent access-key-id: 您的accessKey access-key-secret: 您的accessKeySecret signature: 您的短信签名 sdk-app-id: 您的sdkAppId --- # 三方授权 justauth: # 前端外网访问地址 address: http://localhost:80 type: maxkey: # maxkey 服务器地址 # 注意 如下均配置均不需要修改 maxkey 已经内置好了数据 server-url: http://sso.maxkey.top client-id: 876892492581044224 client-secret: x1Y5MTMwNzIwMjMxNTM4NDc3Mzche8 redirect-uri: ${justauth.address}/social-callback?source=maxkey topiam: # topiam 服务器地址 server-url: http://127.0.0.1:1989/api/v1/authorize/y0q************spq***********8ol client-id: 449c4*********937************759 client-secret: ac7***********1e0************28d redirect-uri: ${justauth.address}/social-callback?source=topiam scopes: [openid, email, phone, profile] qq: client-id: 10**********6 client-secret: 1f7d08**********5b7**********29e redirect-uri: ${justauth.address}/social-callback?source=qq union-id: false weibo: client-id: 10**********6 client-secret: 1f7d08**********5b7**********29e redirect-uri: ${justauth.address}/social-callback?source=weibo gitee: client-id: 91436b7940090d09c72c7daf85b959cfd5f215d67eea73acbf61b6b590751a98 client-secret: 02c6fcfd70342980cd8dd2f2c06c1a350645d76c754d7a264c4e125f9ba915ac redirect-uri: ${justauth.address}/social-callback?source=gitee dingtalk: client-id: 10**********6 client-secret: 1f7d08**********5b7**********29e redirect-uri: ${justauth.address}/social-callback?source=dingtalk baidu: client-id: 10**********6 client-secret: 1f7d08**********5b7**********29e redirect-uri: ${justauth.address}/social-callback?source=baidu csdn: client-id: 10**********6 client-secret: 1f7d08**********5b7**********29e redirect-uri: ${justauth.address}/social-callback?source=csdn coding: client-id: 10**********6 client-secret: 1f7d08**********5b7**********29e redirect-uri: ${justauth.address}/social-callback?source=coding coding-group-name: xx oschina: client-id: 10**********6 client-secret: 1f7d08**********5b7**********29e redirect-uri: ${justauth.address}/social-callback?source=oschina alipay_wallet: client-id: 10**********6 client-secret: 1f7d08**********5b7**********29e redirect-uri: ${justauth.address}/social-callback?source=alipay_wallet alipay-public-key: MIIB**************DAQAB wechat_open: client-id: 10**********6 client-secret: 1f7d08**********5b7**********29e redirect-uri: ${justauth.address}/social-callback?source=wechat_open wechat_mp: client-id: 10**********6 client-secret: 1f7d08**********5b7**********29e redirect-uri: ${justauth.address}/social-callback?source=wechat_mp wechat_enterprise: client-id: 10**********6 client-secret: 1f7d08**********5b7**********29e redirect-uri: ${justauth.address}/social-callback?source=wechat_enterprise agent-id: 1000002 gitlab: client-id: 10**********6 client-secret: 1f7d08**********5b7**********29e redirect-uri: ${justauth.address}/social-callback?source=gitlab