siddhi - 来自 Redis 的 Siddhi 查询
问题描述
似乎我对来自 redis 的 Siddhi 查询有疑问。下面的代码不打印任何输出流。我在 redis 名称中键入 fo1
"@store(type='redis', host='x.x.x.x', port='6379', table.name='RedisTable')" +
"@PrimaryKey('key')" +
"define table RedisTable(key string, value string); " +
"define stream FooStream (name string); " +
"define stream OutputStream(name string); " +
"from FooStream " +
"[( RedisTable.key == name ) in RedisTable] " +
"insert into OutputStream; ";
SiddhiAppRuntime siddhiAppRuntime = siddhiManager.createSiddhiAppRuntime(streams );
//Adding callback to retrieve output events from stream
siddhiAppRuntime.addCallback("OutputStream", new StreamCallback() {
@Override
public void receive(Event[] events) {
EventPrinter.print(events);
//To convert and print event as a map
//EventPrinter.print(toMap(events));
}
});
InputHandler inputHandler = siddhiAppRuntime.getInputHandler("FooStream");
inputHandler.send(new Object[]{"fo1"});
我期待并为 OutputStream 输出“fo1”,但不知何故它没有打印任何东西。
解决方案
我不确定这是否对您有帮助,但我对 redis 的配置是:
@Store(type="redis", table.name="tablename", cluster.mode="false", nodes="redisIP:6379")
@primaryKey('key')
define table tablename (foo string)
我正在使用 wso2sp,但也许这对你有帮助。
推荐阅读
- scala - 解析 json 时出现 java.lang.ExceptionInInitializerError
- r - 更改对数据框名称的字符引用
- python - NumPy 向量化函数域的微小变化会产生巨大的差异。为什么结果如此不同?
- c - 是否可以最大化 SDL 窗口?
- django - 如何设计一个 Django API 来处理“动态”表单?
- html - 如何在折叠菜单旁边实现悬停提示
- go - 为什么带有 tls 证书的 Golang http 请求会导致握手失败?
- python - 数字对的一个索引的平均值
- android - Kotest(以前的 KotlinTest)是否仍然在 Android Studio 中工作?
- python-3.x - 使用 aws lambda 执行 boto3 S3 复制功能时遇到困难