Tellier Benoit created JAMES-2854:
-------------------------------------

             Summary: Rework ConfigurationPerformer
                 Key: JAMES-2854
                 URL: https://issues.apache.org/jira/browse/JAMES-2854
             Project: James Server
          Issue Type: Improvement
          Components: guice
            Reporter: Tellier Benoit


I have currently several issues with Configuration Performer class in Guice:

 - 1.  ConfigurationPerformer should be bound to a single startable

Loops are supported by injection framework through stubbing. However, this
does not play well with the "initialization will follow injection path"
strategy: some modules might try to init against "not yet initialized" 
components
that was stubbed by the init strategy.
    
The issue here is that multi-components configuration performers add additional 
complexity,
and creates dependencies (init A & B at the same time) that lead to failures
while modifying some injections.
    
Saying "1 startable = 1 performer" prevents us from this, and fits our usage.

 - 2. ConfigurationPerformer::initModule should be able to throw Exception
    
     - Avoid unnecessary exception forwarding hurting exception readability
     - This is our "most common" use case, and leveraging it correctly saves 
lines of code

 - 3. ConfigurationPerformer name itself: Component initialization is not 
necessarily linked to configuration. This history inherited wording is 
confusing thus harmful...




--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to