我如何向 inputHandler 提供输入数据

How can i provide input data to inputHandler

我找不到任何用例或任何文档,其中提到我们如何在将 siddhi 用作库时将输入数据提供给 inputHandler 而无需对其进行硬编码。

我在互联网上找到的所有内容都是带有静态数据的 inputHandler。 例如:- inputHandler.send(新对象[]{"WSO2", 50f, 30L});等..,

我想知道如何在将 siddhi 用作库时将 JSON 数据传递给 inputHandler 或流?

在 siddhi 中,一个简单的数据流可以描述如下。

source(input) -> sourceMapper -> stream > {queries -> stream} -> .... stream -> sinkMapper -> sink(output)

将 siddhi 用作库时,InputHandler 用于向流提供数据。

但是当您直接向流提供数据时,映射将不会发生。因此,您必须为相关流的每个属性提供准确的值。

如果您需要以编程方式向源级别提供数据,您可以使用“inMemory”[1] 类型的源,然后使用 InMemoryBroker[2]

示例请参考代码[3]

[1] https://github.com/wso2-extensions/siddhi-map-json/blob/master/component/src/test/java/org/wso2/extension/siddhi/map/json/sourcemapper/JsonSourceMapperTestCase.java#L52

[2]https://github.com/wso2-extensions/siddhi-map-json/blob/master/component/src/test/java/org/wso2/extension/siddhi/map/json/sourcemapper/JsonSourceMapperTestCase.java#L87

[3] https://github.com/wso2-extensions/siddhi-map-json/blob/master/component/src/test/java/org/wso2/extension/siddhi/map/json/sourcemapper/JsonSourceMapperTestCase.java