如何通过码头设置mysql max idel

时间:2018-10-25 02:33:22

标签: jetty

我想使用码头而不是tomcat,但是如何通过码头设置mysql max idel?
环境:弹簧靴,摇篮

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

1 个答案:

答案 0 :(得分:0)

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并未随附特定于容器的数据源池。

这时您有两个选择。

  1. 直接使用mysql数据源。 (这是最简单的方法)
  2. 改为使用许多DataSource池库之一。

如果选择使用DataSource Pool库,它将具有自己的配置,您必须学习该配置以了解如何对其进行调整。配置max-idle可能不存在,或者甚至可能在该库中以不同的名称命名,或者可能存在,但未通过简单数字进行配置,或者它可能是分钟(或毫秒)而不是秒。