Solon2 之基础:一、常用应用配置说明

约定参考:

//资源路径约定(不用配置;也不能配置) resources/app.yml( 或 app.properties ) #为应用配置文件  resources/WEB-INF/static/ #为静态文件根目标 resources/WEB-INF/view/   #为视图模板文件根目标(支持多视图共存) 

1、服务端基本属性

#服务端口(默认为8080) server.port: 8080 #服务主机(ip) server.host: "0.0.0.0" #服务包装端口(默认为 ${server.port})//v1.12.1 后支持  //一般用docker + 服务注册时才可能用到 server.wrapPort: 8080 #服务包装主机(ip)//v1.12.1 后支持 server.wrapHost: "0.0.0.0" #服务上下文路径 server.contextPath: "/test-service/" #v1.11.2 后支持  #服务 http 信号名称,服务注册时可以为信号指定名称(默认为 ${solon.app.name}) server.http.name: "waterapi" #服务 http 信号端口(默认为 ${server.port}) server.http.port: 8080 #服务 http 信号主机(ip) server.http.host: "0.0.0.0" #服务 http 信号包装端口 //v1.12.1 后支持  //一般用docker + 服务注册时才可能用到 server.http.wrapPort: 8080 #服务 http 信号包装主机(ip)//v1.12.1 后支持 server.http.wrapHost: "0.0.0.0" #服务 http 最小线程数(默认:0表示自动,支持固定值 16 或 倍数 x16)//v1.10.13 后支持 server.http.coreThreads: 0  #服务 http 最大线程数(默认:0表示自动,支持固定值 16 或 倍数 x16) //v1.10.13 后支持 server.http.maxThreads: 0 #服务 http 闲置线程超时(0表示自动,单位毫秒) //v1.10.13 后支持 server.http.idleTimeout: 0 #服务 http 是否为IO密集型? //v1.12.2 后支持 server.http.ioBound: true  #服务 socket 信号名称,服务注册时可以为信号指定名称(默认为 ${solon.app.name}) server.socket.name: "waterapi.tcp" #服务 socket 信号端口(默认为 20000+${server.port}) server.socket.port: 28080 #服务 socket 信号主机(ip) server.socket.host: "0.0.0.0" #服务 socket 信号包装端口 //v1.12.1 后支持  //一般用docker + 服务注册时才可能用到 server.socket.wrapPort: 28080 #服务 socket 信号包装主机(ip)//v1.12.1 后支持 server.socket.wrapHost: "0.0.0.0" #服务 socket 最小线程数(默认:0表示自动,支持固定值 16 或 倍数 x16)) //v1.10.13 后支持 server.socket.coreThreads: 0  #服务 socket 最大线程数(默认:0表示自动,支持固定值 16 或 倍数 x16)) //v1.10.13 后支持 server.socket.maxThreads: 0 #服务 socket 闲置线程超时(0表示自动,单位毫秒)) //v1.10.13 后支持 server.socket.idleTimeout: 0 #服务 socket 是否为IO密集型? //v1.12.2 后支持 server.socket.ioBound: true   #服务 websocket 信号名称,服务注册时可以为信号指定名称(默认为 ${solon.app.name}) server.websocket.name: "waterapi.ws" #服务 websocket 信号端口(默认为 10000+${server.port}) server.websocket.port: 18080 #服务 websocket 信号主机(ip) server.websocket.host: "0.0.0.0" #服务 websocket 信号包装端口 //v1.12.1 后支持  //一般用docker + 服务注册时才可能用到 server.websocket.wrapPort: 18080 #服务 websocket 信号包装主机(ip)//v1.12.1 后支持 server.websocket.wrapHost: "0.0.0.0" #服务 websocket 最小线程数(默认:0表示自动,支持固定值 16 或 倍数 x16)) //v1.10.13 后支持 server.websocket.coreThreads: 0  #服务 websocket 最大线程数(默认:0表示自动,支持固定值 16 或 倍数 x16)) //v1.10.13 后支持 server.websocket.maxThreads: 0 #服务 websocket 闲置线程超时(0表示自动,单位毫秒)) //v1.10.13 后支持 server.websocket.idleTimeout: 0 #服务 websocket 是否为IO密集型? //v1.12.2 后支持 server.websocket.ioBound: true 

关于包装主机与包装端口的说明:

  • 比如,服务在docker里运行,就相当于被docker包装了一层。
  • 此时,要向外部注册服务,就可能需要使用包装主机与包装端口。

2、请求会话相关

#设定最大的请求包大小(或表单项的值大小) server.request.maxBodySize: 2mb #kb,mb #设定最大的上传文件大小 server.request.maxFileSize: 20mb #kb,mb (默认使用 maxBodySize 配置值) #设定最大的请求头大小 server.request.maxHeaderSize: 200kb #kb,mb #设定请求体编码 server.request.encoding: "utf-8"  #设定响应体编码 server.response.encoding: "utf-8"  #设定会话超时秒数(单位:秒) server.session.timeout: 7200  #设定会话id的cookieName server.session.cookieName: "SOLONID" #设定会话状态的cookie域(默认为当前域名) server.session.state.domain: noear.org 

3、服务端SSL证书配置属性(https)

#设定SSL证书(支持:solon.boot.jdkhttp 或 solon.boot.jlhttp 或 solon.boot.smarthttp 或 solon.boot.jetty 或 solon.boot.undertow) server.ssl.keyStore: "demo.jks" #或 "demo.pfx" server.ssl.keyPassword: "demo" 

注意:添加 ssl 证书后,应用的 "server.port" 端口只能用 https 来访问。

4、应用基本属性

#应用名称 solon.app.name: "waterapi" #应用组 solon.app.group: "water" #应用命名空间(一般用不到,只有支持的组件才用) solon.app.namespace: "demo" #应用标题 solon.app.title: "WATER"  #应用体外扩展目录 solon.extend: "ext"  #应用体外扩展配置(用于指定外部配置。策略:先加载内部的,再加载外部的盖上去) solon.config: "./app.yml"  #应用元信息输出开启(输出每个插件的信息) solon.output.meta: 1 

5、应用环境配置切换

#应用环境配置(主要用于切换包内不同的配置文件) solon.env: dev  #例: # app.yml      #应用主配置(必然会加载) # app-dev.yml  #应用dev环境配置 # app-pro.yml  #应用pro环境配置 # #启动时:java -Dsolon.env=pro -jar demo.jar 或者 java -jar demo.jar --env=pro 

6、调试模式控制

solon.debug:   enableCaching: false   enableTransaction: true 

7、视图后缀与模板引擎的映射配置

#默认约定的配置(不需要配置,除非要修改) solon.view.mapping.htm: BeetlRender #简写 solon.view.mapping.shtm: EnjoyRender solon.view.mapping.ftl: FreemarkerRender solon.view.mapping.jsp: JspRender solon.view.mapping.html: ThymeleafRender  #添加自义定映射时,需要写全类名 solon.view.mapping.vm: org.noear.solon.view.velocity.VelocityRender #全名(一般用简写) 

8、安全停止配置

solon.stop.safe: 0   #安全停止(0或1)//(v2.1.0 后支持;之前只能用接口启用) solon.stop.delay: 10   #安全停止的延时秒数(默认10秒) 

发表评论

相关文章