Как программно (Java или http) создать проекцию в GetEventStore
Фон
Я использую EventStore (из http://geteventstore.com/) в проекте. Таким образом, я реализовал сторону приложения для записи. То есть я могу читать и записывать события для данного агрегата.
Теперь я нахожусь на стороне чтения и должен подписаться на поток. Я использую Java API, и все также работает здесь.
Теперь проблема
Поток не существует... Я должен создать проекцию, которая объединяет события из разных потоков в один поток для моей модели чтения.
Как я могу создать проекцию через API? Желательно с Java API, но HTTP API также будет делать.
Elaporates
Поскольку прогнозы являются средством для модели чтения для получения точных событий, в которых они нуждаются, новые прогнозы будут создаваться по мере изменения потребностей бизнеса. Поэтому моя идея состоит в том, что сервис readmodel будет проверять и потенциально создавать проекцию, которая ему нужна при запуске.
Недопустимо вручную создавать прогнозы перед запуском сервиса. Это было бы похоже на ручную миграцию вашей базы данных sql.
1 ответ
С http://docs.geteventstore.com/dotnet-api/4.0.0/projections/
public Task CreateContinuousAsync (строковое имя, строковый запрос, UserCredentials userCredentials = null)
Создает проекцию, которая будет выполняться до конца журнала, а затем продолжит работу. Параметр запроса содержит JavaScript, который вы хотите создать в виде одноразовой проекции. Непрерывные проекции имеют явные имена и могут быть включены / отключены через это имя
Есть и другие варианты, такие как создание одноразовой проекции и т. Д.
Это относится к.NET API. Поскольку, похоже, нет конкретной документации для Java API, я предполагаю, что они похожи.