<dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>2.6.1</version> <scope>compile</scope> </dependency> |
<bean id="masterDataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close"> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="jdbcUrl" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <!-- 等待鏈接池分配鏈接的最大時長(毫秒),超過這個時長還沒可用的鏈接則發生SQLException, 缺省:30秒 --> <property name="connectionTimeout" value="${hikari.connectionTimeout}" /> <!-- 一個鏈接idle狀態的最大時長(毫秒),超時則被釋放(retired),缺省:10分鐘 --> <property name="idleTimeout" value="600000" /> <!-- 一個鏈接的生命時長(毫秒),超時並且沒被使用則被釋放(retired),缺省:30分鐘,建議設置比數據庫超時時長少30秒,參考MySQL wait_timeout參數(show variables like '%timeout%';) --> <property name="maxLifetime" value="${hikari.maxLifetime}" /> <!-- 鏈接池中容許的最大鏈接數。缺省值:10;推薦的公式:--> <property name="maximumPoolSize" value="${hikari.maximumPoolSize}" /> <!-- <property name="minimumIdle" value="${hikari.minimumIdle}" /> --> <property name="dataSourceProperties"> <props> <prop key="cachePrepStmts">true</prop> <prop key="prepStmtCacheSize">250</prop> <prop key="prepStmtCacheSqlLimit">2048</prop> <prop key="useServerPrepStmts">true</prop> </props> </property> </bean> |