gpt4 book ai didi

java - Esper:如何使用 Esper 的配置 API 配置 Esper 以通过 JDBC 连接关系数据库

转载 作者:行者123 更新时间:2023-12-01 12:20:03 25 4
gpt4 key购买 nike

我想知道使用 Esper 引擎(v5.0.0)的 java 客户端应用程序如何配置引擎实例,以便他可以连接到关系数据库,例如 pgSQL。

这对于编写能够将事件流(或数据流)与数据库中的静态/历史数据连接的 EPL 查询至关重要 ( 5.13. Accessing Relational Data via SQL )。即从数据库中读取。 (写入数据库需要使用 EsperIO adapter 。)

来自Esper's docs我发现ConfigurationConfigurationDBRef类应该用于通过其 API 配置 Esper 的数据库连接。

但是,根据我的研究,剩余的文档对于整个配置过程并不是很清楚,为此我正在努力。

最佳答案

下面的代码片段展示了整个配置过程:

ConfigurationDBRef dbConfig = new ConfigurationDBRef();
dbConfig.setDriverManagerConnection("org.postgresql.Driver",
"jdbc:postgresql://localhost:5432/database_name",
"user",
"password");

Configuration engineConfig = new Configuration();
engineConfig.addDatabaseReference("database_alias", dbConfig);

esperEngine = EPServiceProviderManager.getDefaultProvider(engineConfig);

就是这样。 esperEngine 将是您的引擎实例,准备与 database_name 进行通信,并以 database_alias 作为查询语句别名(在查询的 FROM 中使用)强>子句)

您可以通过以下方式在 Esper 的实例中安装查询:

String statement =  "SELECT datastream.column1,  rel.column2"                           + 
"FROM Datastream.Measure AS datastream, " +
"sql:database_alias ['SELECT column2 " +
"FROM \"SchemaX\".\"TableY\" ] AS rel";

//Install this query in the engine
EPStatement queryEngineObject = esperEngine.getEPAdministrator().createEPL(statement);

//Associate a Listener to this query
MyQueryListener listener = new MyQueryListener(); //that implements UpdateListener Interface
queryEngineObject.addListener(listener);

关于java - Esper:如何使用 Esper 的配置 API 配置 Esper 以通过 JDBC 连接关系数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26735044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com