问题标签 [siddhi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 从 WSO2 调用 R 脚本 - 弥合松散的末端
我希望从 WSO2 DAS 服务器调用我的 R 脚本。我在 siddhi 查询中编写了以下代码
我调用 R 脚本的语法是否正确?如果有人可以告诉我为什么我在 DAS 控制台中收到此错误错误消息。我还 根据 wso2 提供的链接在https://rforge.net/JRI/files/下载了 JRI 文件。
wso2 - 将 WSO2 CEP 与 HTTP REST API 集成
我正在寻找将 CEP 引擎集成到我的应用程序中的方法,我想知道是否存在 REST API 或其他工具来集成它并在管理控制台之外访问其功能。
我没有在文档中找到任何东西。
java - Siddhi CEP:使用时间窗口时每组有多个结果
使用 siddhi 3.0.3 作为 Java 库
使用带有时间窗口的 group by 时,我看到了一些意外行为。一般问题是我得到了组的正确结果聚合,但是每个事件我收到一个聚合结果,而不是每个组一个。
具体来说,
使用以下查询,没有时间窗口:
我得到每个唯一事件名称的一个结果,具有正确的计数和平均值。因此,在我的示例中,有 15 个唯一的 EventName,每个唯一的 EventName 出现 10 次,总共 150 个事件。我得到 15 个结果,每个 EventName 一个,每个都有 10 个计数和正确的平均值,正如我所期望的那样。
但是,如果我向此查询添加时间窗口:
每个 EventName 的结果都是正确的,因为它具有正确的计数和平均值。但是,我得到 10 个结果,而不是每个 EventName 一个结果,总共 150 个结果。
我们希望用 Siddhi 替换 Esper,因此我通过 Esper 运行了类似的查询,并且使用 Esper,在这两种情况下,我都收到了每个 EventName 一个结果的预期输出。
java - Siddhi CEP:具有时间窗口的聚合函数不会从聚合中“删除”值
使用 Siddhi 3.0.3 作为 Java 库。
我通过扩展类开发了自定义聚合函数,并且在调用方法AttributeAggregator
后我看到了一些奇怪的行为。processRemove()
当processRemove()
被调用时,我删除该值并返回新的聚合结果。但是,结果处理程序返回的事件仍在接收旧值。但是,processAdd()
工作正常。经过一些调试,我注意到在每次调用 之后processAdd()
,结果事件都包含上次调用返回的对象processAdd()
。但是,在调用 之后processRemove()
,该事件包含与之前相同的对象(来自 lastprocessAdd()
的对象),而不是返回的最后一个对象processRemove()
。
如果我维护一个集合,从其中添加删除并始终返回相同的集合对象,那么一切都很好。但是对于返回数值的聚合函数,每个processAdd()
/processRemove()
返回一个 boxed Long
,它不会被 return from 替换processRemove()
。
我还注意到使用内置聚合函数的相同行为count()
。
google-cloud-messaging - Order excecution in Siddhi on wso2cep
I'm new on Stackoverflow even if I solved a lot of problems with your hints. Now I have a problem I have not found the solution. I'm developing a pushing service using the WSO2 CEP and the GCM. CEP handles the subscribe/unsubscribe requests and the push events. The subscriptions keys are stored on my own server using MySQL together with other info. My problems come with the subscribe step. This step has to handle either the new subscriptions (insert) and existing subscription (update). To make the operation easier, I decided to normalise the two operations by deleting and inserting the records (even if the record could be already on the DB). To handle this, I developed an execution plan using Siddhi. The plan defines 2 streams: an event stream and a table stream linked to a MySQL table. In the Execution Plan, first a delete is done using the key taken from the event and after a new record is inserted using the info contained into the event. But it seems that the sequence of the operations (delete and insert) differs, so sometimes I found two or more records with the same GCM key on my server. I applied a workaround by adding a unique constraint on the table, but I'd like to know if there is a way to fix a deterministic order on the Siddhi operations.
Regards
Michele de Rosa
wso2 - 如何通过 REST API 搜索 In-Memory 表记录?
我们正在使用 WSO2 DAS。我们通过 siddhi 定义了表(内存表),我们想使用 DAS REST API 来搜索这个表的记录,我们使用
curl -k -XGET ' https://localhost:9443/analytics/table_exists?table=table1 ' -H "授权:基本 YWRtaW46YWRtaW4="
但响应是该表不存在。
我们如何搜索内存表记录?
postgresql - 将 Siddhi 事件表扩展到 PostgreSQL
我需要在执行计划中使用连接到 PostgreSQL 数据库的事件表。
我尝试扩展 Siddhi 扩展 RDBMS 事件表(来自 siddhi-master 分支),并且在进行 jUnit 测试时,我可以与数据库成功交互。
我将 eventtable.siddhiext 文件添加到 conf 文件夹,将 .jar 添加到 dropins 文件夹,但是当我尝试通过执行计划访问时,我无法建立连接。此外,我可以毫无问题地创建 PostgreSQL 数据源,因此 cep 可以访问数据库。
mysql - 使用 WSO2 CEP 更新 MySQL 数据库
有什么方法可以在不更新流中的空值的情况下更新 MySQL Db。如果我的输入数据流包含一些空值,则当前使用“data_empty”值指示该空值。那时,CEP 使用该值(“data_empty”)更新数据库。我的目标是在不更新空值的情况下更新其余内容。是否可以使用 siddhi 和 WSO2 CEP。
wso2 - WSO2 CEP + 处理空值
目前 WSO2 CEP 是使用一些 Http 请求触发的。但有时触发的请求具有空值。那时如何使用 CEP 处理那些空值。
siddhi - 在 SiddhiManager 中添加多个查询并引用中间流
使用 Siddhi 1.x 我们可以:
siddhiManager.defineStream("定义流 firstStream (id int, name string)"); siddhiManager.defineStream("定义流 secondStream (id int, name string)"); siddhiManager.defineStream("定义流thirdStream(id int, name string)");
/li>
然后我们可以将事件发送到适当的处理程序。我想对版本 3.0.4 做同样的事情
在 Siddhi 3.0.4 中,整个定义定义为
String executionPlan1 = "定义流.." + "@info(name = 'query')" + "from ..";
/li>
所以我尝试创建多个 ExecutionPlanRuntime 并且每个都有自己的流定义,但它没有用。我们还需要定义 midStream 吗?
- 任何人都可以建议正确的方法来向 SiddhiManager 添加多个查询,以便实现我在第一点提到的我们可以做的事情。?
感谢和问候