[
https://issues.apache.org/jira/browse/JAMES-3499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Benoit Tellier closed JAMES-3499.
---------------------------------
Fix Version/s: 3.6.0
Resolution: Fixed
Guice modules are split from the apps, allowing a greater composition power to
app assemblers.
> Separate Guice modules from Cassandr* apps for better reuse
> -----------------------------------------------------------
>
> Key: JAMES-3499
> URL: https://issues.apache.org/jira/browse/JAMES-3499
> Project: James Server
> Issue Type: Improvement
> Components: guice
> Reporter: Benoit Tellier
> Priority: Major
> Fix For: 3.6.0
>
>
> I do love JAMES-3492 contribution effort however I do have to maintain
> several James deployments relying on ElasticSearch (version 6) that - sadly -
> I can not migrate quickly.
> As such, I consider backporting ES6 support in a third party repository not
> to delay in any way this ElasticSearch V7 migration work, and without
> altering my ability to deploy new releases.
> However current project structure do not allow me today to do that, as
> ElasticSearch guice modules are mixed with Cassandra guice modules and do
> pull the ES7 dependency in all downstream maven modules - clashing with the
> ES6 dependency I plan to use on my backports.
> A simple solution to this is to better split our maven modules:
> - Have a dedicated maven module for Cassandra guice modules
> - Have a dedicated maven module for ElasticSearch guice modules - that I
> gonna overide in my backport
> - Preserve the cassandra-guice module assembling the server - but with no
> modules
> - Have a dedicated maven module for the distributed modules (event-bus,
> mailqueue, task manager, blobstore module chooser)
> Basically the directory structure I propose would look like:
> {code:java}
> server/container/guice/cassandra # Guice modules for Cassandra
> server/container/guice/elasticsearch # Guice modules for ElasticSearch
> server/container/guice/distributed # Guice modules reusing RabbitMQ
> {code}
> Definition of done:
> - No guice module are defined next to a cassandra* JamesServerMain.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]