Custom EventStore in Axon


I am looking to implement a custom event store in Axon (3). I want to get my eventStore to leverage Couchbase. However, I would prefer to have the Axon implementation integration with the Spring Data Repository pattern so that I can plugin any Spring Data Repository. Is there any recommendation on how I can approach doing this? I was going through the MongoDB EventStore implementation so I believe I have a rough idea, but I would like to make sure I clarify the details before I start working on this.



I’d start by checking out the JpaEventStorageEngine.

EventProcessors use a TrackingToken to keep track of their position in an event stream so your implementation needs to be able to attach a token to each event message. I never used Couchbase but I saw that they provide some auto-increment functionality via a ‘counter()’ method. That may be useful to keep track of your position.

That’s pretty much the only thing that’s potentially challenging when creating a new EventStorageEngine implementation. The rest follows from the existing examples. Coding against the Spring Data Repository API should also not present a major challenge.

Once you’re happy with your implementation would you be willing to share it via pull request?



Definitely I would love to! Thank you for the advice!

Hi. Have you tried to implement something? So just I don’t have to write it as well :stuck_out_tongue: