gpt4 book ai didi

java - c3p0的最佳配置

转载 作者:IT老高 更新时间:2023-10-28 20:50:02 25 4
gpt4 key购买 nike

我正在努力解决面临的 c3p0 配置问题。 I posted a question last week

最佳答案

这是我正在使用的一种配置,可将资源保持在最低限度。当然,您需要定制您的应用程序以使用它需要的资源...

引用:http://www.mchange.com/projects/c3p0/index.html

  • testConnectionOnCheckin 在连接返回池时验证连接。 testConnectionOnCheckOut,虽然会在使用前确保 Activity 连接,但成本太高。
  • idleConnectionTestPeriod 设置连接在测试前保持空闲的时间限制。如果没有 preferredTestQuery,默认值为 DatabaseMetaData.getTables() - 它与数据库无关,虽然调用成本相对较高,但对于相对较小的数据库来说可能没问题。如果您对性能有疑虑,请使用特定于您的数据库的查询(即 preferredTestQuery="SELECT 1")
  • maxIdleTimeExcessConnections 将在 Activity 高峰后将 connectionCount 恢复到 minPoolSize

以下配置将 poolsize 设置在 3-20 之间。空闲连接每 5 分钟重新测试一次以保持它们处于 Activity 状态。由于 idleConnectionTestPeriod,这只会保持最小连接数。如果在 4 分钟标记处有超过 3 个连接,它会终止这些连接,将资源释放回最低限度。

使用 maxIdleTimeExcessConnectionsidleConnectionTestPeriod 不需要 maxIdleTime

<Context docBase="myapp" path="/myapp" reloadable="true">
<Resource description="My DB Datasource" name="jdbc/mydb"
auth="Container" factory="org.apache.naming.factory.BeanFactory"
type="com.mchange.v2.c3p0.ComboPooledDataSource"
user="myuser" password="******"
minPoolSize="3"
maxPoolSize="20"
acquireIncrement="1"
driverClass="com.mysql.jdbc.Driver"
jdbcUrl="jdbc:mysql://localhost:3306/mydb"
testConnectionOnCheckin="true"
idleConnectionTestPeriod="300"
maxIdleTimeExcessConnections="240"
/>
</Context>

关于java - c3p0的最佳配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12507021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com