This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 457452dbf6c4aa64af3c7836c57958b9386c2632 Author: Rémi KOWALSKI <[email protected]> AuthorDate: Fri Dec 13 15:23:45 2019 +0100 JAMES-3009 ADR for using scala in the event sourcing modules --- .../0033-use-scala-in-event-sourcing-modules.md | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/adr/0033-use-scala-in-event-sourcing-modules.md b/src/adr/0033-use-scala-in-event-sourcing-modules.md new file mode 100644 index 0000000..12b619b --- /dev/null +++ b/src/adr/0033-use-scala-in-event-sourcing-modules.md @@ -0,0 +1,34 @@ +# 33. Use scala in event sourcing modules + +Date: 2019-12-13 + +## Status + +Accepted (lazy consensus) + +## Context + +At the time being James use the scala programming language in some parts of its code base, particularily for implementing the Distributed Task Manager, +which uses the event sourcing modules. + +The module `event-store-memory` already uses Scala. + +## Decision + +What is proposed here, is to convert in Scala the event sourcing modules. +The modules concerned by this change are: + - `event-sourcing-core` + - `event-sourcing-pojo` + - `event-store-api` + - `event-store-cassandra` + +## Rationales + +This will help to standardize the `event-*` modules as `event-store-memory` is already written in Scala. +This change will avoid interopability concerns with the main consumers of those modules which are already written in Scala: see the distributed task manager. +In the long run this will allow to have a stronger typing in those parts of the code and to have a much less verbose code. + + +## Consequences + +We will have to mitigate the pervading of the Scale API in the Java code base by implementing Java facade. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
