java - 如何以编程方式(java 或 http)在 GetEventStore 中创建投影

标签 java http eventstoredb

背景

我在项目中使用 EventStore(来自 geteventstore.com)。 到目前为止,我已经实现了应用程序的写入端。也就是说,我可以读取和写入给定聚合的事件。

现在我在阅读端,需要订阅一个流。我正在使用 java api,这里的一切也都在工作。

现在是问题

流不存在...我必须创建一个投影,将来自不同流的事件聚合到我的读取模型的单个流中。

如何通过 API 创建投影?最好使用 java api,但 http api 也可以。

精心制作

由于预测是读取模型获取所需确切事件的方式,因此随着业务需求的变化,将创建新的预测。因此,我的想法是 readmodel 服务将在启动时检查并可能创建它所需的投影。

在启动服务之前手动创建投影是 Not Acceptable 。这就像手动迁移您的 sql 数据库。

最佳答案

来自 http://docs.geteventstore.com/dotnet-api/4.0.0/projections/

public Task CreateContinuousAsync(string name, string query, UserCredentials userCredentials = null)

Creates a projection that will run until the end of the log and then continue running. The query parameter contains the javascript you want to be created as a one time projection. Continuous projections have explicit names and can be enabled/disabled via this name

还有其他选项,例如创建一次性投影等。

它指的是 .NET API。由于似乎没有针对 Java API 的特定文档,我假设它们是相似的。

关于java - 如何以编程方式(java 或 http)在 GetEventStore 中创建投影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37116781/

相关文章:

java - 编写一个类,以便它可以扩展或传递 block JAVA

security - 与仅用于登录的 SSL 的安全通信?

javascript - 解析 Angular 5 期间的 Http 失败

eventstoredb - 如何通过它的 ID 在 EventStore 中查找事件?

c# - 在 EventSourcing 中,有关订阅的公认智慧是什么?

java - 使用假 session 测试 Controller

java - 将 Maven 用于非 Java 项目(覆盖清理/编译/安装目标)

java - 关于随机值

ruby - 无法使用 Net::HTTP 在我的 ruby​​ 代码中发出 HTTP 删除请求

docker-compose - EventStore Docker 正在运行,但无法从主机访问 URL - 端口不工作