问题描述
我有一个应用程序,该应用程序从IBM MQ读取消息,对其进行处理并将数据写入Oracle数据库。
该应用程序被配置为具有6个并发线程(如果我理解正确的话,应该最多同时处理6条消息),并且连接池中的最小和最大12个连接。
作为测试,我将30条消息写到队列中,这些消息耗时很长。由于只有6个线程和12个连接,因此据我了解,新线程仍应始终有可用的连接。
但是我一直看到getConnection花费300ms +。
这是配置的相关部分:
spring:
jms:
cache.enabled: false
listener:
concurrency: 1
max-concurrency: 6
datasource:
driverClassName: "oracle.jdbc.OracleDriver"
url: "[dbUrl]"
username: "user"
password: "pw"
hikari.minimum-idle: 12
hikari.maximum-pool-size: 12
我正在使用Spring 5.2.5和Spring Boot 2.2.6。
我想念什么?我期望getConnection总是在几毫秒内返回,即使数据库操作可能很耗时?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)