idtitlesidebar_label
spring_boot_config
Spring Boot 项目配置
Spring Boot 项目配置

若您的项目依赖Spring Boot,并加入了spring-boot-starter-forest依赖,就可以通过 application.yml/application.properties 方式定义配置。

配置后端 HTTP API

  1. forest:
  2. backend: okhttp3 # 配置后端HTTP API为 okhttp3

目前 Forest 支持okhttp3httpclient两种后端 HTTP API,若不配置该属性,默认为okhttp3. 当然,您也可以改为httpclient

  1. forest:
  2. backend: httpclient # 配置后端HTTP API为 httpclient

全局基本配置

application.yaml / application.properties中配置的 HTTP 基本参数

  1. forest:
  2. bean-id: config0 # 在spring上下文中bean的id, 默认值为forestConfiguration
  3. backend: okhttp3 # 后端HTTP API: okhttp3
  4. max-connections: 1000 # 连接池最大连接数,默认值为500
  5. max-route-connections: 500 # 每个路由的最大连接数,默认值为500
  6. timeout: 3000 # 请求超时时间,单位为毫秒, 默认值为3000
  7. connect-timeout: 3000 # 连接超时时间,单位为毫秒, 默认值为2000
  8. retry-count: 1 # 请求失败后重试次数,默认为0次不重试
  9. ssl-protocol: SSLv3 # 单向验证的HTTPS的默认SSL协议,默认为SSLv3
  10. logEnabled: true # 打开或关闭日志,默认为true
  11. log-request: true # 打开/关闭Forest请求日志(默认为 true)
  12. log-response-status: true # 打开/关闭Forest响应状态日志(默认为 true)
  13. log-response-content: true # 打开/关闭Forest响应内容日志(默认为 false)

:::caution 注意

  • 这里retry-count只是简单机械的请求失败后的重试次数,所以一般建议设置为0
  • 如果一定要多次重试,请一定要在保证服务端的幂等性的基础上进行重试,否则容易引发生产事故! :::

全局变量定义

Forest 可以在forest.variables属性下自定义全局变量。

其中 key 为变量名,value 为变量值。

全局变量可以在任何模板表达式中进行数据绑定。

  1. forest:
  2. variables:
  3. username: foo
  4. userpwd: bar

配置 Bean ID

Forest 允许您在 yaml 文件中配置 Bean Id,它对应着ForestConfiguration对象在 Spring 上下文中的 Bean 名称。

  1. forest:
  2. bean-id: config0 # 在spring上下文中bean的id,默认值为forestConfiguration

然后便可以在 Spring 中通过 Bean 的名称引用到它

  1. @Resource(name = "config0")
  2. private ForestConfiguration config0;