我在部署模块时遇到问题。这是module.epl
:
import com.fss.demo.esperevent.*;
@Name('Count-Switched-On')
select count(*) from DemoSimpleEvent1;
和代码
{
DemoSimpleEvent1 demoSimpleEvent1 = new DemoSimpleEvent1();
Configuration config = new Configuration();
config.addEventTypeAutoName("com.fss.demo.esperevent");
EPServiceProvider EpService = EPServiceProviderManager.getDefaultProvider(config);
EPDeploymentAdmin deployAdmin = EpService.getEPAdministrator().getDeploymentAdmin();
MyListener myListener = new MyListener();
try {
Module module = deployAdmin.read(new File("module.epl"));
DeploymentResult MyResult = deployAdmin.deploy(module, new DeploymentOptions());
EPStatement Stta = EpService.getEPAdministrator().getStatement("Count-Switched-On");
} catch (IOException | ParseException | DeploymentException e) {
e.printStackTrace();
}
}
}
但Stta
为null
,MyResult.statement
不包含任何语句。
那么我做错了什么?
答案 0 :(得分:0)
它看起来很好,也许代码正在读取错误的文件? 也许将其打包成一个完整的测试类并将其发送到Esper用户邮件列表。
答案 1 :(得分:0)
我想我弄明白了这个问题。 这里的问题是库antlr-runtime.jar的版本 使用esper 4.11.0.jar,应该使用antlr-runtime-3.2.jar