Uploaded image for project: 'James Server'
  1. James Server
  2. JAMES-2433

Implement EventStore for a JPA backend

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • jpa

    Description

      We introduced an Event sourcing implementation in James, allowing us to build complex features in a generic manner. Currently, OverQuota mailing, as well as DLP rule storage relies on an Event sourcing system. More features might rely on this mechanism. The cool thing is that the only thing a back-end need to do to support these features is to implement its own EventStore.

      JPA implementation is currently missing. We can:

      • Generify Cassandra's Event serialization DTO & DTO modules (in a event-store-dto maven module)
      • Introduce a *event-store-jpa* module with a JPA implementation of it.
      • And finally add the missing Guice bindings in jpa-common & jpa-guice guice project to bind event-store and support related features.

      Link to the event-sourcing implementation: https://github.com/apache/james-project/tree/master/event-sourcing

      If you want to handle this issue, and need guidance, please reach us on Gitter: https://gitter.im/apache/james-project

      Attachments

        Activity

          People

            Unassigned Unassigned
            btellier Benoit Tellier
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: