Siddhi 1.x では、次のことができます。
siddhiManager.defineStream("define ストリーム firstStream (id int, name string)"); siddhiManager.defineStream("define ストリーム secondStream (id int, name string)"); siddhiManager.defineStream("define stream thirdStream (id int, name string)");
siddhiManager.addQuery("from every F = firstStream " + " -> S = secondStream [F.id == S.id] within 1 min" + "insert into midStream F.id as id, F.name as name, S.id as secondId ;"); siddhiManager.addQuery("from every M = midStream " + " -> T = thirdStream [M.id == T.id] within i min " + "insert into outputStream M.id, M.name, T.id"); InputHandler firstEventHandler = siddhiManager.getInputHandler("firstStream"); InputHandler secondEventHandler = siddhiManager.getInputHandler("secondStream"); InputHandler thirdEventHandler = siddhiManager.getInputHandler("secondStream");
次に、イベントを適切なハンドラーに送信できます。バージョン3.0.4でも同じことをしたい
Siddhi 3.0.4 では、定義全体が次のように定義されています。
String executionPlan1 = "define stream.." + "@info(name = 'query') " + "from ..";
ExecutionPlanRuntime executionPlanRuntime1 = siddhiManager.createExecutionPlanRuntime(executionPlan1);
そこで、複数の ExecutionPlanRuntime を作成して、それぞれに独自のストリーム定義を作成しようとしましたが、うまくいきませんでした。midStream も定義する必要がありますか?
- 最初のポイントで述べたように、私たちができることを達成するために、SiddhiManager に複数のクエリを追加する正しい方法を誰かが親切に提案できますか?
ありがとうございます。それでは、お元気で