2014-09-25 41 views
1

我們可以在wso2 cep執行計劃中使用像下面這樣的條件語句。WSO2 CEP:我們可以在執行計劃中有if-else條件語句嗎?

from stream1 
select distinct attr1 
insert into newStream1; 

from stream2 
select distinct attr2 
insert into newStream2; 

if 

count(attr1) == count(attr2) 

then 

-- do something 

else 

-- do something else 

使用情況進行了說明:

比方說,我有一個來自3個不同的數據流中獲取數據的執行計劃。 流1給出來自設備1的數據,來自設備2的流2 ......等等。

我有一個存儲在數據庫中的表,它已經存儲了設備的總數。在這種情況下,它存儲3個設備。

現在在執行計劃中,我得到了5分鐘窗口的數據。在這5分鐘內,只有當我從所有3個數據流中獲取數據時,纔會處理數據。否則它不應該。

如果在5分鐘的時間內,我只從2個數據流中獲取數據,那麼執行計劃應該放棄它。

+0

歡迎來到SO。你可能想在你的問題中提供一些更具體的例子。如果你已經試圖寫出你想要的東西,請分享一下嗎?然後,人們將能夠幫助你。 – jazzurro 2014-09-25 06:04:00

+0

喜歡jazzurro。我試着解釋我上面的用例。讓我知道,如果這些信息不夠充分或需要更清晰。 – 2014-10-01 06:25:06

回答

0

您可以使用filters來實現此用例。添加具有「if」部分的過濾器的查詢,然後在過濾器中添加具有「else」條件的另一個查詢。您可以使用這些查詢的輸出分別進行不同類型的處理。您可以在複雜場景中使用查詢鏈。

相關問題