2016-09-22 106 views
4

執行自定義功能擴展我使用wso2cep 4.1.0,並創造了自定義功能擴展類以下的軟件包名稱:無法在WSO2 CEP

package org.wso2.siddhi.extension.custom; 

..... 

public class MyFunction extends FunctionExecutor { 
..... 
} 

然後,我已經創建的文件:定製。 siddhiext

把以下條目放入它。

mycount=org.wso2.siddhi.extension.custom.MyFunction 

我已經創建了包含上述兩個文件的jar。 我已經創建了上面的maven項目。

然後我把這個jar放到/ repository/components/dropins文件夾中。

並重新啓動了cep wso2server。

現在我執行以下執行計劃: 我的執行計劃:

from inputstream#window.timeBatch(1 sec) 

select custom:mycount(param1) as outparam 
insert into outputstream; 

在創建outputsteam我得到異常以下:驗證流時

例外,例外:「 mycount'既不是執行計劃中的函數擴展也不是聚合屬性擴展「ExecutionPlan」

好像罐子我把脫入文件夾不會通過閱讀wso2server但我跟着[https://docs.wso2.com/display/CEP410/Writing+a+Custom+Function+Extension]

任何人有臉類似問題或有這方面的解決方案規定的步驟。

在wso2cepserver重新啓動我得到以下錯誤:

ERROR {org.wso2.carbon.server.extensions.DropinsBundleDeployer} - Required Bundle manifest headers do not exists: /home/analytics/wso2cep-4.1 .0/repository/components/dropins/function-extension-1.0-SNAPSHOT.jar

回答

1

我假設你正在使用的maven-bundle-plugin打造的捆綁。如果是這樣,在您的擴展項目pom文件中,重新檢查maven-bundle-plugin配置。

檢查Bundle-SymbolicName是否提供給插件。你可以參考this example of another extension, being written to Siddhi

According to the source code(碳4.4.3 DropinsBundleDeployer的源極,其部署我們放入的dropins文件夾中的包),可能會發生這樣的錯誤:

  1. Bundle-SymbolicName沒有報錯或
  2. 當還沒有給出Bundle-Version

因此,如果將Bundle-SymbolicName置入配置沒有什麼區別,我會嘗試添加Bundle-Version以及。您可以在maven-bundle-plugin tutorial中找到示例配置。

0

您有任何其他擴展名具有相同的org.wso2.siddhi.extension.custom軟件包名稱嗎?如果是這樣,請嘗試將包重命名爲其他內容。