Eventful is an EventStoreDB client library which wraps around the JVM Client (TCP interface).
It provides (hopefully) Clojure-friendly functions to work with the Event Store and covers (almost) all of the API of the JVM Client.
This small example demonstrates writing and reading an event:
(ns eventful.hello-world
(:require [eventful.core :refer [connect write-events read-event]]))
(let [conn (connect {:hostname "127.0.0.1" :port 1113
:login "admin" :password "changeit"})]
@(write-events {:conn conn :stream "inventory-item-1" :exp-ver :no-stream}
{:event :created :name "foo"})
(prn @(read-event {:conn conn :stream "inventory-item-1"} 0)))
- Consider switching Eventful to the new official Java client without breaking the API.
- Projections Client (HTTP) -
eventstore.ProjectionsClient
Copyright © 2020 Paweł Stroiński
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.