james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (Jira)" <server-...@james.apache.org>
Subject [jira] [Commented] (JAMES-3499) Separate Guice modules from Cassandr* apps for better reuse
Date Sun, 14 Feb 2021 07:06:00 GMT

    [ https://issues.apache.org/jira/browse/JAMES-3499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17284357#comment-17284357

ASF GitHub Bot commented on JAMES-3499:

chibenwa commented on pull request #290:
URL: https://github.com/apache/james-project/pull/290#issuecomment-778738130

   https://ci-builds.apache.org/job/james/job/ApacheJames/job/PR-290/3 is :green_apple: 
   I'll merge this

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:

> 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
> 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

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

View raw message