You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Tellier Benoit (JIRA)" <se...@james.apache.org> on 2018/06/20 03:37:00 UTC

[jira] [Created] (JAMES-2433) Implement EventStore for a JPA backend

Tellier Benoit created JAMES-2433:
-------------------------------------

             Summary: Implement EventStore for a JPA backend
                 Key: JAMES-2433
                 URL: https://issues.apache.org/jira/browse/JAMES-2433
             Project: James Server
          Issue Type: New Feature
          Components: jpa
            Reporter: Tellier Benoit


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



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org