1

我正在尝试使用 WSO2 流处理器上的 siddhi 应用程序解压缩传入事件。在早期版本(例如 DAS)上,有 siddhi 扩展 esbAnalytics:decompress,但如果我在 SP 中使用此扩展,则会出现错误“esbAnalytics:decompress 不存在扩展”

from FlowEntry#esbAnalytics:decompress(meta_compressed, meta_tenantId, flowData, messageId)
select messageFlowId, host, hashCode, componentName, componentType, componentIndex, componentId,  startTime, endTime, duration, beforePayload, afterPayload, contextPropertyMap, transportPropertyMap, children, entryPoint, entryPointHashcode, faultCount,metaTenantId, _timestamp
group by messageFlowId
insert into TestOutputFlowEntry;

有什么方法可以在 SP 上使用 esbAnalytics:decompress 或如何解压缩传入的 flowEntry 事件?提前致谢。

4

3 回答 3

2

esbAnalytic: decompress 是一个用 Siddhi 3 编写的自定义扩展。为了在 SP 中使用它,这需要移植到 Siddhi 4,因为有 API 更改。

尝试自定义扩展编写指南,以移植它。此外,Siddhi 4 使用注释识别扩展,这在生成的代码中被注释掉以方便使用。将以下内容添加到扩展的流处理器中,如数学扩展

@Extension(
    name = "decompress",
    namespace = "esbAnalytics",
    description = "decompress function",
    examples = {
            @Example(
                    syntax = "FlowEntry" +
                            "#esbAnalytics:decompress(meta_compressed, meta_tenantId, flowData, messageId)\n",
                    description = "the above syntax can be used"
            )
    }
)

编写扩展后,将 jar 放在 {SP_HOME}/lib 目录中,以便在 Siddhi App 中使用它。

于 2018-02-08T12:30:22.657 回答
0

上述扩展已默认在WSO2 流处理器 4.3.0及更高版本中发布。

于 2018-11-08T09:27:24.293 回答
0

实际上我将此扩展移植到 Siddhi 4 并进行了所有必要的更改,构建 jar 文件并将其放入 lib 目录,但仍然存在相同的错误“esbAnalytics:decompress 不存在扩展”。是否有关于该 jar 文件名称的任何规则或其他可以做错的事情?

于 2018-02-12T12:21:32.097 回答