wso2 - 如何在 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)
解决方案
这是 siddhi-io-cdc 的错误。具有 CDC 轮询模式的 Siddhi 应用程序在源数据库重新启动时出错。这些故障是由 DefaultPollingStrategy 类中的 bug 导致的,printEvent(connection) 使用前没有验证连接,必须先 getConnection()。
推荐阅读
- powershell - 在 powershell 中打开一个程序并获取它的句柄
- maven - 通过 Eclipse 创建 Maven Archetype
- javascript - 在哪里可以找到原型链中函数的变量?
- javascript - 观察者不使用 Vuex
- c++ - 将语言环境更改为瑞典语
- ckeditor - 从 TYPO3 中的 ckeditor 将“fontsize”添加到自定义 yaml 文件
- sql - 为什么点或句点 ('.') 在 SQL Server 中被视为数字?
- cassandra - 使用中国数据中心 (CGF) 扩展 Cassandra 集群
- reactjs - 使用 React 的 AWS CDN 上的 CORS 问题
- css - 悬停不会改变我的 svg 的颜色