Custom EventStore in Axon

254 views
Skip to first unread message

Matthew Fontana

unread,
Dec 14, 2016, 7:32:32 AM12/14/16
to Axon Framework Users
All,

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.

Regards,
Matt

René de Waele

unread,
Dec 14, 2016, 12:30:33 PM12/14/16
to axonfr...@googlegroups.com
Hi,

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?

Thanks!

Rene
--
You received this message because you are subscribed to the Google Groups "Axon Framework Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to axonframewor...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Matthew Fontana

unread,
Dec 15, 2016, 7:43:34 AM12/15/16
to Axon Framework Users
Definitely I would love to!  Thank you for the advice!

Tomáš Marný

unread,
Apr 15, 2017, 12:25:50 AM4/15/17
to Axon Framework Users
Hi. Have you tried to implement something? So just I don't have to write it as well :P
Reply all
Reply to author
Forward
0 new messages