本文主要介绍 系统配置,以及系统属性(系统配置-系统属性管理)两部分内容
一、系统配置
系统配置 位于 /src/main/resources/application.yml 文件,修改配置需要重启应用
文件中也有非常详细的注释,建议务必对系统配置进行全面了解
核心配置
Key | Type | Default Value | Description |
---|---|---|---|
ab.groovy.blackKeywords | string | System,Runtime,BeanUtil, AppUtil,JdbcTemplate, FileUtil,InputStream, IoUtil,FileWriter,ReflectUtil, ClassUtil | groovy 引擎黑名单关键词,防止执行危险脚本 |
activiti.jobExecutorActivate | boolean | true | activiti job定时刷新器,用于Timer节点 |
ab.schedule.enable | boolean | false | @AbScheduled 定时计划是否开启 |
ab.simple-mq.message-queue-type | string | synchronous | 简单消息队列类型 synchronous: 同步发送 redis:redis队列 jms: Java 消息队列规范实现 transaction_message: 事务消息 discard: 丢弃待发送消息 |
xxl.job.accessToken | string | xxl-job 执行器通讯token,非空即启用 | |
xxl.job.admin.addresses | string | xxl-job 管理地址,http://210.22.89.138:9990/xxl-job-admin | |
xxl.job.executor.appname | string | xxl-job 应用名称 | |
xxl.job.executor.ip | string | xxl-job 执行器 IP地址,未指定自动选择 | |
xxl.job.executor.port | string | xxl-job 执行器端口 | |
xxl.job.executor.logpath | string | xxl-job 执行器运行日志路径 | |
xxl.job.executor.logretentiondays | int | xxl-job 执行期运行日志保留天数 |
数据配置
Key | Type | Default Value | Description |
---|---|---|---|
spring.datasource.dbType | string | 数据库类别 mssql mysql oracle postgresql |
|
ab.bpmBusDataHandle.enableTablePartition | boolean | true | 工作流与业务表启用分区表 |
uploader.default | string | 上传配置,如需扩展实现IUploader,已存在配置项 db 数据库存储 ordinary 服务器磁盘存储 |
|
uploader.ordinary.path | string | 上传配置磁盘存储文件夹,与uploader.default= ordinary属性搭配使用,后缀/不可缺少,代表文件夹,例如:/uploader/ |
|
ab.id-generator.machine-bits | int | 3 | id生成器(雪花算法)机器标识占用位数 |
ab.id-generator.sequence-bits | int | 15 | id生成器(雪花算法)序列生成占用位数 |
ab.id-generator.time-sequence | int | 45 | id生成器(雪花算法)时间戳占用位数 |
ab.id-generator.machine | int | 1 | id生成器(雪花算法)机器标识,最大标识:~(-1 << ${ab.id-generator.machine-bits}),默认为:7 |
ab.mongoDb.address | string | MongoDB 主机地址 | |
ab.mongoDb.port | string | MongoDB 主机端口 | |
ab.mongoDb.isTx | boolean | MongoDB 是否支持事务(需复制集) | |
ab.mongoDb.db | string | MongoDB 业务对象持久化数据库名称 | |
ab.mongoDb.col | string | MongoDB 业务对象持久化集合 | |
ab.multi-tenancy.ignore-mappers | string | 多租户忽略插件对Mapper处理,多个用, 隔开 |
|
ab.multi-tenancy.ignore-tables | string | 多租户插件忽略对表的处理,多个间, 隔开 |
|
ab.multi-tenancy.table-column-name | string | 多租户插件表解析字段 | |
ab.multi-tenancy.web-request-param | string | 多租户插件web请求参数 | |
ab.ldap.server | string | LDAP 服务器地址,示例:ldap://127.0.0.1:10389/dc=agilebpm,dc=cn | |
ab.ldap.manager-d-n | string | LDAP 管理员配置,示例:uid=admin,ou=system | |
ab.ldap.manager-password | string | LDAP 管理员密码,示例:secret | |
ab.ldap.user-search-filter | string | uid={0} | LDAP 用户查询过滤, {0} 为账户占位符 |
ab.ldap.user-search-base | string | LDAP 用户查询基础路径 | |
ab.ldap.account.attribute.uid | string | uid | LDAP 账户属性映射uid,对应IUser.account |
ab.ldap.account.attribute.displayName | string | displayName | LDAP 账户属性映射displayName,对应IUser.fullname |
ab.ldap.account.attribute.mobile | string | mobile | LDAP 账户属性映射mobile,对应IUser.mobile |
ab.ldap.account.attribute.mail | string | LDAP 账户属性映射mail,对应IUser.email | |
ab.ldap.account.attribute.pwdLockout | string | pwdLockout | LDAP 账户属性pwdLockout,对应IUser.status |
ab.trxm.queues | int | 100 | 事务消息线程池队列数 |
ab.trxm.threads | int | cpu * 2 + 1 | 事务消息线程池最大线程数 |
ab.trxm.retry-times | int | 3 | 事务消息失败重试次数 |
邮件配置
Key | Type | Default Value | Description |
---|---|---|---|
ab.mail.mail-address | string | 发件人 | |
ab.mail.nick-name | string | 昵称 | |
ab.mail.password | string | 发件人密码 | |
ab.mail.send-host | string | SMTP 服务器主机,示例:smtp.example.com |
|
ab.mail.send-port | string | SMTP 服务器端口 | |
ab.mail.ssl | boolean | 是否开启SSL协议传输,默认smtp |
缓存配置
Key | Type | Default Value | Description |
---|---|---|---|
ab.cache.type | string | memory | 缓存配置 memory redis j2cache |
j2cache.serialization | string | java | j2cache 序列化 java fst |
j2cache.default-cache-null-object | boolean | true | 默认缓存空对象 |
j2cache.sync-ttl-to-redis | boolean | true | redis缓存数据是否过期 |
j2cache.L1.provider-class | string | caffeine | j2cache一级缓存 caffeine |
j2cache.L1.region.default | string | j2cache一级缓存默认区域,示例:1000, 12h | |
j2cache.L1.region.jwtToken | string | j2cache一级缓存jwtToken区域,示例:1000, 5m | |
j2cache.L1.region.WX_ACCESS_TOKEN | string | j2cache一级缓存accessToken区域,示例:1, 2h | |
j2cache.L2.cache-open | boolean | false | j2cache二级缓存开启 |
j2cache.L2.provider-class | string | j2cache二级缓存提供实现,固定配置: net.oschina.j2cache.cache.support.redis.SpringRedisProvider |
|
j2cache.L2.storage | string | redis 存储模式 redis hash |
|
j2cache.L2.channel | string | j2cache | j2cache二级缓存 redis 订阅发布通道名称 |
j2cache.broadcast.cache-clean-mode | string | j2cache 缓存通知清除模式 active 主动清理,辅助缓存过期以主动通知每个节点清除,优点是所有节点都可以同时接收缓存清除 passive 被动清除,第一级缓存过期以通知每个节点清除第一级和第二级缓存 blend 上述两种模式可以协同工作,并且可以使用每个节点的缓存准确性和及时性要求,并且可以正常使用前两种模式之一。 |
|
j2cache.broadcast.provider-class | string | j2cache 缓存广播通知提供类,固定配置 net.oschina.j2cache.cache.support.redis.SpringRedisPubSubPolicy |
Web配置
Key | Type | Default Value | Description |
---|---|---|---|
ab.jwt.enabled | boolean | false | 启用jwt token |
ab.jwt.header | string | Authorization | jwt token携带头信息名称 |
ab.jwt.tokenHead | string | Bearer- | jwt token schema |
ab.jwt.secret | string | asd%WE^@&fas156dfa | jwt 密钥 |
ab.jwt.issuer | string | agileBPM | jwt token签发者 |
ab.jwt.expiration | int | 86400 | jwt 过期时间,单位:秒 |
ab.request-trance.id-name | string | tranceId | 请求跟踪标识名称 |
ab.request-log.enable | boolean | true | 是否启用 |
ab.request-log.sensitive-fields | array[string] | 请求日志脱敏字段 | |
ab.request-log.field-log-length | int | -1 | 字段日志长度;小于1不做任何限制 |
ab.request-log.ignore-urls | array[string] | 忽略请求地址 | |
ab.security.auth-ingores | string | 忽略鉴权URL,多个, 分隔 |
|
ab.security.maximum-sessions | int | 最大会话数 -1:表示会话不受任何限制 0:限制除登陆用户最后一次登陆会话,其它会话都失效 大于0:限制用户下最大会话数 |
|
server.servlet.session.timeout | int | 1800 | 会话超时时间,单位:秒,最小超时时间不能小于一分钟,简写形式 分钟:1m 秒:60s |
spring.session.store-type | string | none | 会话存储方式 none:应用内存 redis:redis |
spring.session.redis.namespace | string | 会话存储redis前缀 |
文件上传配置
Key | Type | Default Value | Description |
---|---|---|---|
servlet.multipart.max-file-size | string | 100MB | 最大单个文件大小 |
servlet.multipart.max-request-size | string | 100MB | 最大请求文件大小 |
tomcat配置
Key | Type | Default Value | Description |
---|---|---|---|
server.servlet.context-path | string | / | 上下文路径,项目路径 |
二、系统属性配置
系统属性可以在 系统配置-系统属性管理 中定义,系统属性支持不同环境的特殊配置
不同环境需要设置,常见设置方式有:
- Java -jar xx 启动时通过命令设置
-Dspring.profiles.active=TEST
- yml 配置文件中配置
spring.profiles.active=PROD
- JVM 中设置
JAVA_OPTS=" -Xms1024m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m -Dspring.profiles.active=PROD"
系统会优先读取 当前环境的系统变量,若不存在,则读取 DEV 环境的变量,所以DEV环境为默认变量
环境约定如下:
- DEV :开发-默认变量
- SIT :测试
- UAT :用户测试
- GRAY:灰度
- PROD:生产
核心配置
参数名 | 别名 | 描述 |
---|---|---|
系统管理员账户 | admin.account | 指定超管账户,默认为admin |
OA版本表单开发预览地址 | oaUrl | 开发表单时,点击预览按钮,打开OA前端预览表单的地址,如:http://test1.agilebpm.cn |
移动端表单开发预览地址 | mobileUrl | 移动端表单开发时预览表单的地址,如:https://test.agilebpm.cn/bpm-app |
是否开启表单设计 | isFormDesign | 默认为true,该属性为高级表单开发列表页面过滤拖拽设计表单而用 |
产品授权码 | s.k | 产品授权码 |
微信公众号 appsecret | wx_appsecret | 用于对接微信公众号免登,推送微信消息 appsecret,建议加密存储 |
微信公众号 appID | wx_appID | 用于对接微信公众号免登,推送微信消息 appID,建议加密存储 |
阿里云 accessSecret | aliyun_accessSecret | 阿里云accessSecret 值,用于阿里云服务器sdk对接,建议加密存储 |
阿里云 accessKeyId | aliyun_accessKeyId | 阿里云accessKeyId 值,用于阿里云服务器sdk对接,建议加密存储 |
阿里云 sysDomain | aliyun_sysDomain | 阿里云短信sysDomain 值,用于阿里云短信推送 |
阿里云 regionId | aliyun_regionId | 阿里云短信regionId 值,用于阿里云短信推送 |
阿里云短信 templateCode | aliyun_templateCode | 阿里云短信 templateCode 值,用于流程阿里云短信推送 |
阿里云短信 signName | aliyun_signName | 阿里云短信 signName 值,用于流程阿里云短信推送 |
用户 HTTP 同步 URL | user_full_sync_url | 用于用户同步地址的配置,使用同步接口必须通过 UserJsonOrm.java 映射字段属性。 |
组织 HTTP 同步 URL | group_full_sync_url | 用于组织同步地址的配置,使用同步接口必须通过 GroupJsonOrm.java 映射字段属性。 |
用户密码策略配置
系统属性
Key | Type | Default Value | Description |
---|---|---|---|
j2cache.L1.region.loginToken | string | 24h | j2cache一级缓存登录失败锁定区域,示例:1000, 24h |
j2cache.L1.region.pwdToken | string | 5m | j2cache一级缓存验证码区域,示例:1000, 5m |
系统配置
参数名 | 别名 | 描述 |
---|---|---|
连续登录验证失败最大次数 | loginCount | 默认为0,用户最大连续登录验证失败次数,默认不开启,如果配置次数为0,则不验证密码尝试次数 |
修改密码下次到期时间 | pwdLose | 默认为180,修改密码后新密码有效期,单位天 |
OA端登录验证码开关 | captchaSwitch | 默认为false,验证码开关:值为false时,不进行验证码校验,可以直接登录;值为true时,需要验证码校验 |
密码校验正则表达式 | checkingRuleKey | 默认为^[A-Za-z0-9_!@#$%&*]{6,20}$,修改密码校验规则,支持自定义密码校验规则,值为正则表达式 |
密码校验提示信息 | checkingRuleTxt | 默认为密码长度在6-20位之间由数字、字母组合,密码校验提示信息,可根据配置的密码校验规则设置提示信息 |
初始化密码是否必须重置后登录 | isResetPwd | 默认为false,初始化密码不需要重置密码后登录;OA端可修改值为true,开启后初始化密码必须重置密码才可登录 |
是否开启邮件重置密码 | isOpenResetPwdByEmail | 默认为false,是否开启通过邮件找回登录密码:false不开启; 若需要开启修改值为true |
登录失败锁定账户时间 | loginFailedlockTimeDesc | 默认为24小时,登录失败锁定账户的时间描述,请自行和缓存时间配置匹配,缓存配置24h |