3K.WebFun Properties
3K.WebFun Properties
Properties of Spring Web enhancements in Slardar.
3K.1.wings-cache-79.properties
LRU (Least Recently Used) default, unit is second, 0=infinitely
wings.slardar.cache.primary
String=MemoryCacheManager, which CacheManager is primary
MemoryCacheManager- Cache2k Jvm cacheServerCacheManager- Hazelcast distributed cache
wings.slardar.cache.expand
Boolean=true, whether to Resolve the cache name, that is, to append the concrete class name
wings.slardar.cache.null-size
Integer=1000, in principle, null is not cached. However, it can be handled uniformly.
positive- cache size0- do not cache nullnegative- no uniform processing
wings.slardar.cache.null-live=300
Integer=300, default 300s
wings.slardar.cache.common
default configuration other than level
max-live=3600, expireAfterWrite(Time To Live)max-idle=0, expireAfterAccess(Time To Idle)max-size=50000, cache size
wings.slardar.cache.level
Note, Server using hazelcast will ignore the common setting to avoid non-cache IMap errors. level setting, you need to use wildcard like program~*, see WingsCache naming and separator
wings.slardar.cache.level.program.max-live=0wings.slardar.cache.level.program.max-idle=0wings.slardar.cache.level.program.max-size=0wings.slardar.cache.level.general.max-live=86400wings.slardar.cache.level.general.max-idle=0wings.slardar.cache.level.general.max-size=0wings.slardar.cache.level.service.max-live=3600wings.slardar.cache.level.service.max-idle=0wings.slardar.cache.level.service.max-size=0wings.slardar.cache.level.session.max-live=600wings.slardar.cache.level.session.max-idle=0wings.slardar.cache.level.session.max-size=0
3K.2.wings-debounce-79.properties
backend debounce
wings.slardar.debounce.capacity
Integer=10000, waiting capacity.
wings.slardar.debounce.max-wait
Integer=300, max waiting seconds.
wings.slardar.debounce.http-status
Integer=208, http-status of response.
wings.slardar.debounce.content-type
String=application/json;charset=UTF-8, content-type of response.
wings.slardar.debounce.response-body
String={"success":false,"message":"debounced"}, body of response.
3K.3.wings-domain-extend-79.properties
Host Extend and URL Override.
wings.slardar.domain-extend.cache-size
Integer=4096, cache size of matched and unmatched url, caution when RESTful
wings.slardar.domain-extend.prefix
String=/domain/, the uniform domain prefix of the mapping and resource Url.
wings.slardar.domain-extend.host
Map<String, Set<String>>, host mapping
FilenameUtils.wildcardMatch, eg. trydofor=*.trydofor.com, trydofor.com
wings.slardar.domain-extend.other-url
List<String>, specified domain url that is not automatically detected.
ant match style, eg. other-url=/trydofor/b/c.html
3K.4.wings-doublekill-79.properties
config for double-kill, DoubleKillExceptionResolver, support {key} and {ttl}
wings.slardar.double-kill.http-status
Integer=202, http-status of response
wings.slardar.double-kill.content-type
String=application/json;charset=UTF-8, content-type of response
wings.slardar.double-kill.response-body
String={"success":false,"message":"Request Too Busy, Take A Coffee", "data":{"key":"{key}","ttl":{ttl}}}, body of response.
3K.5.wings-firstblood-79.properties
Resource protection features, such as CAPTCHA
wings.slardar.first-blood.client-ticket-key
String=Client-Ticket, key of the header and session used to identify the user.
wings.slardar.first-blood.quest-captcha-key
String=quest-captcha-image, key to generate image CAPTCHA, timestamp or specific prefix.
wings.slardar.first-blood.check-captcha-key
String=check-captcha-image, key to verify image CAPTCHA, client input the code.
wings.slardar.first-blood.base64-captcha-key
String=base64, key to return image in base64, used in fresh-captcha-image=base64+timestamp
wings.slardar.first-blood.base64-captcha-body
String=data:image/jpeg;base64,{base64}
format of returned base64 image, with {base64} placeholder. The default configuration will output data:image/jpeg;base64,/9j/4AAQSkZ.....
wings.slardar.first-blood.chinese-captcha
Boolean=true, whether to use Chinese char.
wings.slardar.first-blood.case-ignore
Boolean=true, whether to ignore case.
wings.slardar.first-blood.captcha-prefix
String=image, scene prefix for image graphic captcha.
wings.slardar.first-blood.http-status
Integer=406, http-status of response.
wings.slardar.first-blood.content-type
String=application/json;charset=UTF-8, content-type of response.
wings.slardar.first-blood.response-body
String={"success":false,"message":"need a verify code"}, body of response.
3K.6.wings-monitor-79.properties
Setting of app builtin simple monitoring, -1 in the threshold value means ignore.
wings.slardar.monitor.cron
String=17 */17 * * * ?
Monitor its own cron, - means stop this cron, default 17 minutes.
wings.slardar.monitor.hook
Boolean=true, whether to send notice for the start and stop of its own jvm hook
wings.slardar.monitor.jvm.system-cent
Integer=90, alarm threshold, system Cpu Load with percentage to the entire system with all cores, range [0, 100]
wings.slardar.monitor.jvm.system-load
Integer=-1, System Cpu Load without percentage, range [0, 100*cores]
wings.slardar.monitor.jvm.process-cent
Integer=-1, process system Cpu Load with percentage to the entire system with all cores, range [0, 100]
wings.slardar.monitor.jvm.process-load
Integer=320, process Cpu Load without percentage, range [0, 100*cores], default=80*4
wings.slardar.monitor.jvm.memory-load
Integer=85, process Mem Load, range [0,100]
wings.slardar.monitor.jvm.thread-count
Integer=-1, total threads in jvm.
formula: threads = Available Cores / (1 - Blocking Coefficient), Blocking Coefficient = Blocking time / (blocking time + calculation time)
wings.slardar.monitor.jvm.thread-load
Integer=50, total jvm threads divided by total cores
wings.slardar.monitor.log.default.enable
Boolean=true, whether to turn on, log file monitoring. default provides default value for other rules.
wings.slardar.monitor.log.default.file
String=${logging.file.name}
Monitored log file, no monitoring if file not found.
wings.slardar.monitor.log.default.min-grow
DataSize=-1, min growth per scan cycle, can be inherited
wings.slardar.monitor.log.default.max-grow
DataSize=10MB, max growth per scan cycle, can be inherited
wings.slardar.monitor.log.default.max-size
DataSize==1GB, max file size of log (archived daily), can be inherited
wings.slardar.monitor.log.default.bound
Integer=40, approximate separator of log header and content, separating byte numbers (char numbers if ASCII)
wings.slardar.monitor.log.default.level
Set<String>=' WARN ',' ERROR ', log level keyword.
keywords will automatically trim a pair of leading and trailing quotes when executed. For example, ' ERROR ' becomes ERROR, '' WARN '' becomes ' WARN '.
wings.slardar.monitor.log.default.keyword
Set<String>=, log content (after level) keywords
wings.slardar.monitor.log.default.preview
Integer=10, preview lines after found keyword.
wings.slardar.monitor.log.default.section
Integer=50, section size of intended lines.
wings.slardar.monitor.log.default.charset
String=UTF8, log charset
wings.slardar.monitor.log.default.clean
Integer=30, delete scanned files older than N days, -1 means no cleaning
wings.slardar.monitor.log.console
Map<String, LogMetric.Rule>, monitor console output.
file=${wings.console.out}level='WARNING'keyword='reflective access'
wings.slardar.monitor.view.enable
Boolean=true, whether to enable the alert file viewer
wings.slardar.monitor.view.mapping
String=/api/log/warn-view.htm, UrlMapping, GET request, one id parameter only.
wings.slardar.monitor.view.alive
Duration=36H, default alive time.
wings.slardar.monitor.view.length
DataSize=1MB, how many bytes before current log is output by default, do not record sensitive data in the log.
wings.slardar.monitor.view.domain
String=http://${server.address:localhost}:${server.port:80}, host or ip for external access.
wings.slardar.monitor.view.header
Pattern=^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}:\\d{2}[-+.:0-9]*\\s+, regexp of section header, e.g.
2023-02-04T11:09:32.692+08:00 DEBUG 10884 ---2024-07-23 01:31:59.063 DEBUG 10884 ---
wings.slardar.monitor.view.ignore
Map<String, String>, ignored alert string in logs.
JacksonKotlin=com.fasterxml.jackson.module:jackson-module-kotlinCP-Subsystem=CP Subsystem is not enabledSwagger-DataTypeClass=dataTypeClass: class java.lang.VoidAutoLog-Switch=Auto Switch the following Appender Level toNo-MessageSource=not found for MessageSourceJpa-Persistence=javax.persistence.spi::No valid providers foundUT005071-CONNECT=UT005071: Undertow request failed HttpServerExchange{ CONNECT
wings.slardar.monitor.ding-notice
String=monitor, use DingTalk bot by default with the key monitor. See wings-dingnotice-79.properties for details
3K.7.wings-okhttp-79.properties
wings.slardar.okhttp.timeout-conn
Integer=60, connect timeout in seconds.
wings.slardar.okhttp.timeout-read
Integer=180, read timeout in seconds.
wings.slardar.okhttp.timeout-write
Integer=300, write timeout in seconds.
wings.slardar.okhttp.ping-interval
Integer=0, ping interval in seconds, 0 means disable
wings.slardar.okhttp.cache-megabyte
Integer=0, cache size in Mb, 0 means disable
wings.slardar.okhttp.cache-directory
File, Cache directory, created under temp by default, wings-okhttp-cache
wings.slardar.okhttp.follow-redirect-ssl
Boolean=true, whether to follow the https redirect.
wings.slardar.okhttp.follow-redirect
Boolean=true, whether to follow the http redirect.
wings.slardar.okhttp.retry-failure
Boolean=true, whether to retry if connect failed.
wings.slardar.okhttp.max-idle
Integer=5, max count of idle connection.
wings.slardar.okhttp.keep-alive
Integer=300, keep-alive in seconds.
wings.slardar.okhttp.ssl-trust-all
Boolean=true, whether to trust all ssl certs.
wings.slardar.okhttp.host-cookie
Boolean=true, whether to keep cookies by host.
wings.slardar.okhttp.redirect-nop
Boolean=false, whether to temporarily do nothing when follow-redirect.
wings.slardar.okhttp.intercept-nop
Map<String,String>, do NOT intercept if the token contained in URL
ding-talk=oapi.dingtalk.com
3K.8.wings-overload-79.properties
Overload protection filter, how to handle fast requests and slow responses. disable by default, not recommended as it requires more detailed config to avoid false positives.
wings.slardar.overload.log-interval
Long=5000, Logging interval in millis.
wings.slardar.overload.fallback-code
Integer=200, http status of response when overload
wings.slardar.overload.fallback-body
String={"success":false,"message":"Request Too Busy, Take A Coffee"}, body of response when overload
wings.slardar.overload.request-capacity
Integer=9000, fast request capacity, note that shared IP's can be easily misjudged.
<0- unlimited, max number of requests to process>0- user defined value based on stress test results0- auto-tuning, initial value is cpu cores x 300
wings.slardar.overload.request-interval
Long=1000, within interval milliseconds, no more than calmdown requests can be processed for the same ip. <=0 means no limit.
wings.slardar.overload.request-calmdown
Integer=50, within interval milliseconds, no more than calmdown requests can be processed for the same ip. <=0 means no limit.
wings.slardar.overload.request-permit
Map<String, String>, request ip whitelist, match by start-with
local-127=127.local-192=192.
wings.slardar.overload.response-warn-slow
Long=5000, slow response in millis, if exceeded, log WARN, <0 means disable
wings.slardar.overload.response-info-stat
Long=1000, log INFO once for each number of requests, <0 means disable
3K.9.wings-righter-79.properties
Anti forgery editing, prevent editor privilege upgrade.
wings.slardar.righter.header
String=Right-Editor, key in header.
wings.slardar.righter.http-status
Integer=409, http-status of response.
wings.slardar.righter.content-type
String=application/json;charset=UTF-8, content-type of response.
wings.slardar.righter.response-body
String={"success":false,"message":"forgery of editor"}, body of response.
3K.A.wings-swagger-79.properties
Swagger document.
wings.slardar.swagger.title
String=${spring.application.name:wings-default}
wings.slardar.swagger.description
String=user=${user.name}, os=${os.name}, tz=${user.timezone}, branch=${git.branch}, commit=${git.commit.id.full}
wings.slardar.swagger.version
String=${build.version} ${build.time}, need enable build info.
wings.slardar.swagger.param
Map<String, EnabledParameter>, key in java naming rule, used as $ref, in support cookie|header|query|path.
headLanguage.enable=falseheadLanguage.name=Accept-LanguageheadLanguage.in=headerheadLanguage.description=user languageheadLanguage.example=zh-CNheadZoneId.enable=trueheadZoneId.name=Zone-IdheadZoneId.in=headerheadZoneId.description=user timezoneheadZoneId.example=Asia/Shanghai
wings.slardar.swagger.accept
Map<String, String>, copy Accept/MediaType to make multiple requests.
text/plain=*/*application/json=*/*
wings.slardar.swagger.flat-pagequery
Boolean=true, whether to flatten the PageQuery, as querystring parameter.
3K.B.wings-dingnotice-79.properties
wings.slardar.ding-notice.default.dryrun
String=[DRYRUN], dryrun prefix of subject. merge if null, empty means disable.
wings.slardar.ding-notice.default.access-token
String=, the DingTalk access_token used to send the alert, empty means disable.
wings.slardar.ding-notice.default.digest-secret
String=, secret of message digest, empty means disable.
wings.slardar.ding-notice.default.notice-keyword
String=WARNING, custom keywords, to successfully send message must contain at least 1 keyword.
wings.slardar.ding-notice.default.notice-mobiles
Map<String, String>, notified person and his phone number, non-member's phone number will be desensitized. It is automatically added to the text eg. @155xxxx
wings.slardar.ding-notice.default.webhook-url
String=https://oapi.dingtalk.com/robot/send?access_token=, template of DingTalk webhook URL.
wings.slardar.ding-notice.default.msg-type
String=markdown, message type, support text|markdown
