4

Siddhi を CEP エンジンとして使用してプロトタイプの実験を行っています。入力ストリームがフラットなイベント データのみをサポートするのか、それともクエリに対して JSON のようなデータ階層をサポートできるのかを知りたいと考えています。

Siddhi のドキュメントでは属性の型について言及してobjectいますが、この型が何を指しているのかはどこにも見つかりませんでした。

ソース リポジトリで提供されるコード サンプルでも、この属性タイプは使用されません。

これらの例で記述されたクエリの 1 つを拡張すると、次のようなことができるようになります。

String executionPlan = ""
    + "define stream cseEventStream (symbol string, price float, volume long, data object); "
    + " "
    + "@info(name = 'query1') "
    + "from cseEventStream[volume < 150 and data.myKey == 'myValue'] "
    + "select symbol,price "
    + "insert into outputStream ;";

Siddhi でサポートされている JSON のようなデータはありますか? はいの場合、どの Java オブジェクト タイプを に渡す必要がありInputHandlerますか?

4

2 に答える 2

4

java.lang.Object インスタンスを受け入れます。したがって、そこに任意の Java オブジェクトを渡すことができます。ただし、これらのオブジェクトはパススルーのみ (Siddhi エンジンはイベントと共に渡すだけ) であり、カスタム拡張機能を作成しない限り、これらのオブジェクトに対して変更や処理を行うことはできません。

json 入力を処理する場合は、WSO2 CEP 製品を使用します。マッピングを定義し、json 入力を、Siddhi エンジンが処理できる string、int、float などのいくつかのプリミティブ型に逆アセンブルできます。

于 2015-11-04T13:04:22.167 に答える