# # eiam-console - Employee Identity and Access Management # Copyright © 2022-Present Jinan Yuanchuang Network Technology Co., Ltd. (support@topiam.cn) # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # # spring spring: application: name: TopIAM 企业数字身份管控平台管理端 jackson: #日期格式化 date-format: "yyyy-MM-dd HH:mm:ss" #设置空如何序列化 default-property-inclusion: NON_NULL deserialization: #允许对象忽略json中不存在的属性 fail_on_unknown_properties: false parser: #允许出现单引号 allow_single_quotes: true #允许出现特殊字符和转义符 allow_unquoted_control_chars: true serialization: #忽略无法转换的对象 fail_on_empty_beans: false #格式化输出 indent_output: true mvc: formcontent: filter: enabled: true cache: type: redis redis: key-prefix: "topiam" servlet: multipart: max-file-size: 50MB max-request-size: 50MB session: redis: namespace: ${spring.cache.redis.key-prefix}:session flush-mode: immediate repository-type: indexed datasource: type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.cj.jdbc.Driver hikari: auto-commit: true connection-test-query: SELECT 1 connection-timeout: 30000 idle-timeout: 30000 max-lifetime: 1800000 maximum-pool-size: 15 minimum-idle: 5 pool-name: eiam #elasticsearch elasticsearch: socket-timeout: 30000s connection-timeout: 10000s data: jpa: repositories: bootstrap-mode: deferred #reids redis: database: 9 lettuce: pool: max-idle: 7 min-idle: 2 max-active: 7 max-wait: -1ms shutdown-timeout: 200ms timeout: 5000ms jpa: hibernate: ddl-auto: none show-sql: true properties: hibernate: show_sql: true format_sql: true use_sql_comments: true jdbc: batch_size: 500 batch_versioned_data: true order_inserts: true types: print: banner: false main: banner-mode: off quartz: #相关属性配置 properties: org: quartz: scheduler: instanceId: AUTO #默认主机名和时间戳生成实例ID,可以是任何字符串,但对于所有调度程序来说,必须是唯一的 对应 QRTZ_SCHEDULER_STATE INSTANCE_NAME字段 jobStore: class: org.springframework.scheduling.quartz.LocalDataSourceJobStore #持久化配置 driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate #我们仅为数据库制作了特定于数据库的代理 tablePrefix: QRTZ_ #数据库表前缀 misfireThreshold: 60000 #在被认为“失火”之前,调度程序将“容忍”一个Triggers将其下一个启动时间通过的毫秒数。默认值(如果您在配置中未输入此属性)为60000(60秒)。 clusterCheckinInterval: 5000 #设置此实例“检入”*与群集的其他实例的频率(以毫秒为单位)。影响检测失败实例的速度。 isClustered: true #打开群集功能 acquireTriggersWithinLock: true useProperties: false threadPool: class: org.springframework.scheduling.quartz.SimpleThreadPoolTaskExecutor threadCount: 10 threadPriority: 5 threadsInheritContextClassLoaderOfInitializingThread: true job-store-type: jdbc # 程序结束时会等待quartz相关的内容结束 wait-for-jobs-to-complete-on-shutdown: true # QuartzScheduler启动时更新己存在的Job,这样就不用每次修改targetObject后删除qrtz_job_details表对应记录 overwrite-existing-jobs: true jdbc: initialize-schema: never #rabbitmq rabbitmq: template: reply-timeout: 60000 #日志配置 logging: config: classpath:config/logback-spring.xml server: port: 1898 shutdown: graceful #开启压缩 提高响应速度 减少带宽压力 compression: enabled: true mime-types: text/html,text/xml,text/plain,text/css,application/javascript,application/json,image/svg+xml min-response-size: 1024 servlet: session: cookie: secure: true same-site: none name: topiam-employee-console-cookie http-only: true encoding: charset: UTF-8 #错误处理 error: include-stacktrace: never include-exception: false include-message: never include-binding-errors: never # undertow undertow: threads: io: 32 worker: 256 buffer-size: 1024 # springdoc springdoc: swagger-ui: csrf: enabled: true cookie-name: "topiam-csrf-cookie" header-name: "topiam-csrf" enabled: false cache: disabled: true writer-with-default-pretty-printer: true