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

Implement EventStore for a JPA backend

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: jpa
    • Labels:

      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

            • Assignee:
              Unassigned
              Reporter:
              BTellier Tellier Benoit
            • Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: