问题描述
我有wso2 APIM(多合一部署),需要发送和使用我的Google Analytics(分析)(wso2流处理器)的信息。整合在第一天进展顺利。通常在第二天,我的Google Analytics(分析)就会开始显示以下数据库连接错误:
ERROR {org.wso2.extension.siddhi.io.mgwfile.task.MGWFileReaderTask} - Error occurred while publishing micro-gateway API Usage data. org.wso2.extension.siddhi.io.mgwfile.exception.MGWFileSourceException: Error occurred while getting the next files to process.
at org.wso2.extension.siddhi.io.mgwfile.dao.MGWFileSourceDAO.getNextFilesToProcess(MGWFileSourceDAO.java:148)
at org.wso2.extension.siddhi.io.mgwfile.task.MGWFileReaderTask.run(MGWFileReaderTask.java:59)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
Caused by: java.sql.sqlTransientConnectionException: HikariPool-5 - Connection is not available,request timed out after 30258ms.
at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:213)
at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:163)
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:85)
at org.wso2.extension.siddhi.io.mgwfile.util.MGWFileSourceDBUtil.getConnection(MGWFileSourceDBUtil.java:47)
at org.wso2.extension.siddhi.io.mgwfile.dao.MGWFileSourceDAO.getNextFilesToProcess(MGWFileSourceDAO.java:107)
... 3 more
看起来这光是不清除数据库会话 如何避免我的分析数据库连接保持健康?
解决方法
此问题也可能是由于缺少更多的数据库连接。为此,您可以尝试在数据源配置APIM_ANALYTICS_DB中增加最大池大小。 例如:
maxPoolSize: 100
此外,请确保支持数据库在maxPoolSize中定义的最大连接。如果不能在数据库中增加它的话。
,就我而言,问题在于我的数据源的som设置为 使用H2本地数据库。因此,在特定时刻,APIM开始向 分析,使机器使用99%的CPU。此行为使本地H2 DB停止确实响应了HikariPool请求... 我仍然遇到问题,但现在我知道的不仅仅是数据库连接。