[ https://issues.apache.org/jira/browse/JAMES-3906?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17720739#comment-17720739 ]
Benoit Tellier edited comment on JAMES-3906 at 5/9/23 1:53 AM: --------------------------------------------------------------- > OK, Guice has Multibinder, in which one can bind multiple implementations to > interface (or abstract class). So it would be possible to create module with > all implementations of `AbstractConfigurableAsyncServer` (IMAP, SMTP, etc) > bound to `AbstractConfigurableAsyncServer` and then inject Set with > `AbstractConfigurableAsyncServer` implementations, so far so good. Yes. I do think injecting `AbstractServerFactory` would be more natural as this is the entity directly manipulated by Guice. > The question would be - what's the best place to do it? Those implementations > are used in various places so to avoid duplication I arrived at the > conclusion, that the best way would be new (maven) module under protocols > (`james-project/server/protocols`, next to imap, smpt) and then use that > maven module in distinctive james distribution modules. Each protocol module can independently define the bindings without needing a centralized place at all... was (Author: btellier): > OK, Guice has Multibinder, in which one can bind multiple implementations to > interface (or abstract class). So it would be possible to create module with > all implementations of `AbstractConfigurableAsyncServer` (IMAP, SMTP, etc) > bound to `AbstractConfigurableAsyncServer` and then inject Set with > `AbstractConfigurableAsyncServer` implementations, so far so good. Yes. I do think injecting `` would be more natural as this is the entity directly manipulated by Guice. > The question would be - what's the best place to do it? Those implementations > are used in various places so to avoid duplication I arrived at the > conclusion, that the best way would be new (maven) module under protocols > (`james-project/server/protocols`, next to imap, smpt) and then use that > maven module in distinctive james distribution modules. Each protocol module can independently define the bindings without needing a centralized place at all... > Add hot reloading/updating witht restart of the certificate > ----------------------------------------------------------- > > Key: JAMES-3906 > URL: https://issues.apache.org/jira/browse/JAMES-3906 > Project: James Server > Issue Type: New Feature > Reporter: Wojtek > Priority: Minor > Time Spent: 10m > Remaining Estimate: 0h > > It would be great to be able to update the certificate without restarting the > server, reloading the certificate from the file and/or updating it via REST > API > > Mailing list thread: > https://www.mail-archive.com/server-user@james.apache.org/msg16722.html -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org