WSO2 Siddhi RDBMS 存储扩展 - 如何将 batchEnable 设置为 false
WSO2 Siddhi RDBMS Store Extension - how to set batchEnable to false
我正在使用 siddhi 创建一些也与 PostgreSQL 数据库交互的应用程序。虽然我不确定,但我相信,在单个事件中对同一个 PG table 进行多次更新存在错误(即在收到事件后,更新 table 中的记录,并在同一个 table 中再次创建另一个)似乎批量更新导致了一些问题。所以,我只想在禁用 batchUpdate(默认情况下启用)后尝试一下。我只是不知道如何使用 siddhi-sdk(通过 Intellij 插件)配置它。有两张相关的票:
https://github.com/wso2-extensions/siddhi-store-rdbms/issues/43
https://github.com/wso2/product-sp/issues/472
在记录这些内容之前,我希望获得一些关于如何设置这些字段的快速响应。
此致...
I'm using siddhi to create some app which also interacts with PostgreSQL DB. Although I'm not sure, I believe, there is a bug about making multiple updates on the same PG table, within a single event (i.e. upon receiving an event, update a record in the table, and create another one again in the same table) it seems the batch updates are causing some problems.
当 batchEnabled 设置为 true 时,它将对一批事件执行 insert/update 操作,而不是对每个事件执行这些操作。简单地说,这是为了提高性能而引入的。
此参数的默认值当前设置为"true"。
但是,batchEnable 配置是通过名为“{{RDBMS-Name}}.batchEnable”的系统参数完成的,该参数必须在 WSO2 流处理器的 deployment.yaml
中进行配置
如果您想在 Product-SP 中覆盖此 属性,请按照以下步骤操作。
打开位于{Product-SP-Home}/conf/editor/
中的deployment.yaml文件
在文件中插入以下行。
siddhi:
extensions:
extension:
name: store
namespace: rdbms
properties:
PostgreSQL.batchEnable: true
但目前无法从 siddhi 应用程序级别覆盖这些系统配置。由于您使用的是 SDK,您可以将上述参数的默认值更改为“false”。
请按照以下步骤进行操作。
在siddhi中找到siddhi-store-rdbms-4.x.xx.jar文件
SDK。它位于 {siddhi-sdk-home}/lib/ .
使用存档管理器打开 jar 文件并打开
rdbms-table-config.xml 文件用文本编辑器位于其中。
在<batchEnable>true</batchEnable>
属性下设置false
<database name="PostgreSQL">
标记并保存。
谢谢瑞文。在 "extension" 之前用一个简单的破折号 (-) 我可以设置配置。
siddhi:
extensions:
- extension:
name: store
namespace: rdbms
properties:
PostgreSQL.batchEnable: false
我正在使用 siddhi 创建一些也与 PostgreSQL 数据库交互的应用程序。虽然我不确定,但我相信,在单个事件中对同一个 PG table 进行多次更新存在错误(即在收到事件后,更新 table 中的记录,并在同一个 table 中再次创建另一个)似乎批量更新导致了一些问题。所以,我只想在禁用 batchUpdate(默认情况下启用)后尝试一下。我只是不知道如何使用 siddhi-sdk(通过 Intellij 插件)配置它。有两张相关的票: https://github.com/wso2-extensions/siddhi-store-rdbms/issues/43 https://github.com/wso2/product-sp/issues/472 在记录这些内容之前,我希望获得一些关于如何设置这些字段的快速响应。
此致...
I'm using siddhi to create some app which also interacts with PostgreSQL DB. Although I'm not sure, I believe, there is a bug about making multiple updates on the same PG table, within a single event (i.e. upon receiving an event, update a record in the table, and create another one again in the same table) it seems the batch updates are causing some problems.
当 batchEnabled 设置为 true 时,它将对一批事件执行 insert/update 操作,而不是对每个事件执行这些操作。简单地说,这是为了提高性能而引入的。
此参数的默认值当前设置为"true"。 但是,batchEnable 配置是通过名为“{{RDBMS-Name}}.batchEnable”的系统参数完成的,该参数必须在 WSO2 流处理器的 deployment.yaml
中进行配置如果您想在 Product-SP 中覆盖此 属性,请按照以下步骤操作。
打开位于{Product-SP-Home}/conf/editor/
中的deployment.yaml文件在文件中插入以下行。
siddhi:
extensions:
extension:
name: store
namespace: rdbms
properties:
PostgreSQL.batchEnable: true
但目前无法从 siddhi 应用程序级别覆盖这些系统配置。由于您使用的是 SDK,您可以将上述参数的默认值更改为“false”。
请按照以下步骤进行操作。
在siddhi中找到siddhi-store-rdbms-4.x.xx.jar文件 SDK。它位于 {siddhi-sdk-home}/lib/ .
使用存档管理器打开 jar 文件并打开 rdbms-table-config.xml 文件用文本编辑器位于其中。
在
<batchEnable>true</batchEnable>
属性下设置false<database name="PostgreSQL">
标记并保存。
谢谢瑞文。在 "extension" 之前用一个简单的破折号 (-) 我可以设置配置。
siddhi:
extensions:
- extension:
name: store
namespace: rdbms
properties:
PostgreSQL.batchEnable: false