【问题标题】:Syntax error in SiddhiQL, extraneous input (PySiddhi4)SiddhiQL 中的语法错误,无关输入 (PySiddhi4)
【发布时间】:2018-12-08 16:12:36
【问题描述】:

我正在尝试使用 PySiddhi4 在基于 Python 的环境中运行 CEP。为了熟悉这个包,我尝试运行 Siddhi 开发人员提供的示例代码。这是链接:https://wso2.github.io/PySiddhi/Run-PySiddhi4/

但是,当我运行代码时,在实例化 siddhiAppRuntime 时出现 JavaException 错误。 siddhiApp查询字符串如下:

siddhiApp = "define stream cseEventStream (symbol string, price float, volume long); " + \
"@info(name = 'query1') from cseEventStream[volume < 150] select symbol,price insert into outputStream;"

我得到以下错误描述:

JVM exception occurred: Error between @ Line: 1. Position: 0 and @ Line: 1. Position: 1. Syntax error in SiddhiQL, extraneous input 'iddhiAp' expecting {<EOF>, ';'}.

我尝试使用查询字符串中的间距,但无济于事。有没有人有这个问题的解决方案?提前非常感谢!

【问题讨论】:

    标签: python python-3.x siddhi pyjnius


    【解决方案1】:

    PySiddhi4 基本上是 Java Siddhi CEP 的包装器。在那里,我们使用 pyjnius [1] 模块将 Java 类作为使用 JNI 的 Python 类来访问。但是,似乎有这个字符串编码问题 [2]、[3] 与 pyjnius(的发布版本)一起报告,这导致了上述问题。

    所以根据他们的说法,解决方法是:

    1. 使用 cython
    2. 从 GitHub 克隆最新版本的 pyjnius,该版本已修复错误但尚未发布。

    请试试看。如果解决方法似乎不起作用,请告诉我们,然后我们可以尝试在 PySiddhi 本身上修复它。

    [1]https://github.com/kivy/pyjnius

    [2]https://github.com/kivy/pyjnius/issues/300

    [3]https://github.com/kivy/pyjnius/issues/340

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-17
      • 2020-05-05
      • 2012-12-21
      • 2020-04-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多