jetty - 如何通过码头设置mysql max idel
问题描述
我想使用jetty而不是tomcat,但是如何通过jetty设置mysql max idel?
环境:spring boot,gradle
spring:
datasource:
url: jdbc:mysql://${MYSQL_HOST:cc-mysql}:${MYSQL_PORT:3306}/cc
username: ${MYSQL_USERNAME:root}
password: ${MYSQL_PASSWORD:root}
driver-class-name: com.mysql.jdbc.Driver
tomcat:
max-active: ${MYSQL_MAX_ACTIVE:10}
max-idle: ${MYSQL_MAX_IDEL:1}
jpa:
show-sql: false
hibernate:
ddl-auto: update
解决方案
其中的配置spring.datasource.tomcat.*
用于配置 Tomcat 数据源池。(又名org.apache.tomcat.jdbc.pool.DataSource
)
spring.datasource.type
缺少(隐含?)选项的更完整示例。
spring:
application:
name: My Example Application
datasource:
name: example
url: jdbc:mysql://dev.mysql.example.com:4444/db?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&failOverReadOnly=false
username: userexample
password: userpass
type: org.apache.tomcat.jdbc.pool.DataSource
driver-class-name: com.mysql.jdbc.Driver
tomcat:
max-active: 5
max-idle: 5
min-idle: 5
initial-size: 5
validation-query: 'select 1'
test-on-borrow: true
test-on-return: true
test-while-idle: true
max-wait: 15000
Jetty 没有提供容器特定的数据源池。
此时,您有两个选择。
- 直接使用mysql数据源。(这是最简单的方法)
- 改为使用众多 DataSource 池库之一。
如果您选择使用 DataSource Pool 库,它将有自己的配置,您必须学习才能知道如何调整它。该配置max-idle
可能不存在,甚至可能在该库中以不同的方式命名,或者可能存在但不是通过简单的数字配置,或者它可能指的是分钟(或毫秒)而不是秒。
推荐阅读
- python - 在嵌套的 for 循环中过滤子数据框
- excel - 使用列中的值作为 json 请求的参数并组合表
- apache-kafka - 在 Streams 应用的所有实例中使用某个主题的所有消息
- css - 如何将 div 内的按钮与绝对位置居中对齐?
- react-native - React Native ScrollView 不会使用 ViewPager 或 createMaterialTopTabNavigator 滑动
- android - Android WebView 输入类型=文件禁用从库中选择
- python - 如何检查数组是否在 3 旁边包含 3?
- python - 如何规范化 Pandas 中的范围?
- tcp - iperf3 - TCP 测量中 Retr 列的含义
- html - 我的 svg 图像图标隐藏在我的 css 容器后面