Я новичок в WSO2 Sp
и siddhi
.
Я пытаюсь создать собственное расширение сиддхи. Я использовал приведенный ниже архетип для генерации расширения скелета и попытался изменить класс функции и функции streamfunction.
mvn archetype:generate -DarchetypeGroupId=org.wso2.siddhi.extension.archetype -DarchetypeArtifactId=siddhi-archetype-execution -DgroupId=org.wso2.extension.siddhi.execution -Dversion=1.0.0-SNAPSHOT
Я собрал флягу после внесения изменений в код и развернул флягу в пути $WSO2_SP_HOME/lib
. Но когда я ссылаюсь на свою функцию в файле siddhi
, как показано ниже, я получаю ошибку.
select newns:conv(inValue) as sinValue
insert into OutputStream;
Ошибка выглядит следующим образом:
[2020-02-03 13:44:23,042] ERROR {org.wso2.carbon.stream.processor.core.internal.StreamProcessorDeployer} - org.wso2.siddhi.core.exception.SiddhiAppCreationException: Error on 'TestCustomApp' @ Line: 12. Position: 26, near 'newns:conv(inValue)'. 'conv' is neither a function extension nor an aggregated attribute extension org.wso2.carbon.stream.processor.core.internal.exception.SiddhiAppDeploymentException: org.wso2.siddhi.core.exception.SiddhiAppCreationException: Error on 'TestCustomApp' @ Line: 12. Position: 26, near 'newns:conv(inValue)'. 'conv' is neither a function extension nor an aggregated attribute extension
at org.wso2.carbon.stream.processor.core.internal.StreamProcessorDeployer.deploySiddhiQLFile(StreamProcessorDeployer.java:106)
at org.wso2.carbon.stream.processor.core.internal.StreamProcessorDeployer.deploy(StreamProcessorDeployer.java:330)
at org.wso2.carbon.deployment.engine.internal.DeploymentEngine.lambda$deployArtifacts$0(DeploymentEngine.java:291)
at java.util.ArrayList.forEach(ArrayList.java:1257)
at org.wso2.carbon.deployment.engine.internal.DeploymentEngine.deployArtifacts(DeploymentEngine.java:282)
at org.wso2.carbon.deployment.engine.internal.RepositoryScanner.sweep(RepositoryScanner.java:112)
at org.wso2.carbon.deployment.engine.internal.RepositoryScanner.scan(RepositoryScanner.java:68)
at org.wso2.carbon.deployment.engine.internal.DeploymentEngine.start(DeploymentEngine.java:121)
at org.wso2.carbon.deployment.engine.internal.DeploymentEngineListenerComponent.onAllRequiredCapabilitiesAvailable(DeploymentEngineListenerComponent.java:216)
at org.wso2.carbon.kernel.internal.startupresolver.StartupComponentManager.lambda$notifySatisfiableComponents$7(StartupComponentManager.java:266)
at java.util.ArrayList.forEach(ArrayList.java:1257)
at org.wso2.carbon.kernel.internal.startupresolver.StartupComponentManager.notifySatisfiableComponents(StartupComponentManager.java:252)
at org.wso2.carbon.kernel.internal.startupresolver.StartupOrderResolver$1.run(StartupOrderResolver.java:204)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
Caused by: org.wso2.siddhi.core.exception.SiddhiAppCreationException: Error on 'TestCustomApp' @ Line: 12. Position: 26, near 'newns:conv(inValue)'. 'conv' is neither a function extension nor an aggregated attribute extension
at org.wso2.siddhi.core.util.parser.ExpressionParser.parseExpression(ExpressionParser.java:415)
at org.wso2.siddhi.core.util.parser.SelectorParser.getAttributeProcessors(SelectorParser.java:211)
at org.wso2.siddhi.core.util.parser.SelectorParser.parse(SelectorParser.java:89)
at org.wso2.siddhi.core.util.parser.QueryParser.parse(QueryParser.java:115)
at org.wso2.siddhi.core.util.parser.SiddhiAppParser.parse(SiddhiAppParser.java:245)
at org.wso2.siddhi.core.SiddhiManager.createSiddhiAppRuntime(SiddhiManager.java:65)
at org.wso2.siddhi.core.SiddhiManager.createSiddhiAppRuntime(SiddhiManager.java:74)
at org.wso2.carbon.stream.processor.core.internal.StreamProcessorService.deploySiddhiApp(StreamProcessorService.java:100)
at org.wso2.carbon.stream.processor.core.internal.StreamProcessorDeployer.deploySiddhiQLFile(StreamProcessorDeployer.java:94)
... 14 more
Я также могу извлечь содержимое файла jar и увидеть, что папка аннотации содержит org.wso2.siddhi.annotation.Extension
файл с моим именем класса.
Не уверен, что еще не хватает. Пожалуйста, помогите здесь.