java - 连接 Esper 和 PostgreSQL

标签 java postgresql esper

(1) 我需要将 Esper 数据库适配器连接到我的项目。我正在使用 this 作为指南,但我不知道在哪里可以找到配置文件,因为我收到此错误:Cannot locate configuration information for database 'db1'

这是我的

public class Esper {


public void iniciar() {
    EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider();

    ConfigurationDBAdapter adapterConfig = new ConfigurationDBAdapter();
    ConfigurationDBRef configDB = new ConfigurationDBRef();
    configDB.setDriverManagerConnection("org.postgresql.Driver",
            "jdbc:postgresql://localhost:5432/db_name", 
            "user", 
            "pass");
    adapterConfig.getJdbcConnections().put("db1", configDB);

    EsperIODBAdapter dbAdapter = new EsperIODBAdapter(adapterConfig, "engineURI");
    dbAdapter.start();

    String expression = "select * from pattern[every timer :interval(10)], sql:db1 ['select mosquitoId from registros where velocidad > 50']";
    EPStatement stmt = epService.getEPAdministrator().createEPL(expression);
    Mylistener listener = new Mylistener();
    stmt.addListener(listener);
}
}

(2) 我需要做的是从表 Registros 获取数据,如果 velocidad > 50 使用 printLn(),我不明白什么是 pattern 在例子中。

最佳答案

代替“EPServiceProviderManager.getDefaultProvider();”你会想要使用“EPServiceProviderManager.getDefaultProvider(configuration);”。

Configuration configuration = new Configuration();
ConfigurationDBRef configDB = new ConfigurationDBRef();
configDB.setDriverManagerConnection(....);
configuration.addDatabaseReference("MyDB", configDB);
EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider(configuration);

关于java - 连接 Esper 和 PostgreSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45939845/

相关文章:

java - Esper:创建新的 Esper 语句,并跳过已存在的语句

java - 在 Eclipse 中运行 AlgoTrader 模拟

java - Java 中有没有办法读取文本文件中的换行符?

java - 值未正确插入到 SQLite 数据库中

java - 细化一条线

architecture - 处理复杂事件

Java 对象数组

postgresql - 在 PostgreSQL 中,2019-04-23T22 :34:40. 253-05 :00? 的日期时间格式是什么

sql - 带有 limit 子句的窗口函数

sql - 将 postgres 中的记录分组并拆分为几个新的列系列