在執行計劃中,如果在選擇除最後一個屬性之外的屬性時調用自定義函數,則會引發java.lang.IndexOutOfBoundsException
。如果在選擇最後一個屬性時調用此自定義函數,則不會發生異常。讓我以一個例子來澄清這一點。使用執行計劃中的自定義函數選擇輸出屬性時出現WSO2CEP 3.0.0錯誤
我有流定義inStream = [名稱,姓氏,地址]和outStream = [名稱,姓氏,地址]分別作爲輸入和輸出流使用。我寫了一個連接字符串的自定義函數。當我使用它像下面在執行計劃(選擇最後一個屬性時自定義函數時),
from inStream
select name, surname, ns:concat('Address is: ' , address) as address
insert into outStream
我得到outStream = [「邁克爾」「傑克遜」,「地址是:印第安納」]爲inStream中= ['Micheal','Jackson','Indiana']。但是,當我將查詢更改爲
from inStream
select ns:concat('Name is: ', name) as name, surname, address
insert into outStream
我收到異常。這是一個錯誤?我應該如何處理這個問題?
將補丁文件放入/repository/components/patches中是否足夠?我是否必須申請修補代碼,重新編譯和提取jar? –
iargin
您必須將修補程序應用於源代碼,重新編譯該jar並替換/repository/components/plugins中的現有jar。 (只需將源補丁放入/repository/components/patches中即可修補)。 –
lasantha
沒有-Dmaven.test.skip = true選項我無法編譯代碼。錯誤:無法執行目標org.apache.maven.plugins:maven-compiler-plugin:2.3.2:項目siddhi-core上的testCompile(default-testCompile):編譯失敗 [錯誤] ** \ 2.0.0- was2v4 \ modules \ siddhi-core \ src \ test \ java \ org \ wso2 \ siddhi \ test \ standard \ table \ rdbms \ BasicDataSource.java:[30,7]錯誤:BasicDataSource不是抽象的並且不重寫抽象方法getParentLogger ()在CommonDataSource中。通過跳過測試,生成的jar名稱是siddhi-core-2.0.0-wso2v4。我也必須改變它。無論如何,補丁都可以工作。 – iargin