系统属性,系统配置说明文档

本文主要介绍 系统配置,以及系统属性(系统配置-系统属性管理)两部分内容

一、系统配置

系统配置 位于 /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 mail 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