首页 > 解决方案 > 如何在 WSO2 Stream Integrator 7.1.0 中配置数据源以自动重新连接 mysql

问题描述

我尝试在 WSO2 SI 的 deployment.yaml 中设置一个数据源连接到 MySQL,以便我可以在我的 Siddhi 应用程序中使用它。它正常工作,但是当我重新启动 MySQL 时,数据源无法重新连接到数据库,因此我的 Siddhi 应用程序出现以下错误。

如何配置数据源以便在数据库重新启动后自动重新连接。

谢谢你,龙。

[2020-11-12 19:32:43,627] ERROR {io.siddhi.extension.io.cdc.source.polling.strategies.DefaultPollingStrategy} - Error occurred while processing records in table SweetProductionTable. {mode=polling, app=CDCWithPollingMode, stream=insertSweetProductionStream} java.sql.SQLException: Connection is closed
    at com.zaxxer.hikari.pool.ProxyConnection$ClosedConnection.lambda$getClosedConnection$0(ProxyConnection.java:493)
    at com.sun.proxy.$Proxy73.prepareStatement(Unknown Source)
    at com.zaxxer.hikari.pool.ProxyConnection.prepareStatement(ProxyConnection.java:315)
    at com.zaxxer.hikari.pool.HikariProxyConnection.prepareStatement(HikariProxyConnection.java)
    at io.siddhi.extension.io.cdc.source.polling.strategies.DefaultPollingStrategy.printEvent(DefaultPollingStrategy.java:142)
    at io.siddhi.extension.io.cdc.source.polling.strategies.DefaultPollingStrategy.poll(DefaultPollingStrategy.java:86)
    at io.siddhi.extension.io.cdc.source.polling.CDCPoller.run(CDCPoller.java:202)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

标签: wso2wso2eiwso2si

解决方案


这是 siddhi-io-cdc 的错误。具有 CDC 轮询模式的 Siddhi 应用程序在源数据库重新启动时出错。这些故障是由 DefaultPollingStrategy 类中的 bug 导致的,printEvent(connection) 使用前没有验证连接,必须先 getConnection()。


推荐阅读