Benoit Tellier created JAMES-3602:
-------------------------------------

             Summary: AmqpForwardAttributed was opening a connection per call
                 Key: JAMES-3602
                 URL: https://issues.apache.org/jira/browse/JAMES-3602
             Project: James Server
          Issue Type: Improvement
          Components: Mailet Contributions, rabbitmq
    Affects Versions: 3.6.0
            Reporter: Benoit Tellier
             Fix For: 3.7.0


One connection and one channel is opened per processed emails. Connections and 
channels are long lived objects, made to be reused.  Flamme graphs showed that 
this AMQP mailet represents ~1% of CPU occupation with just about 30 mail/sec. 
Note that 92% of this time is used opening/closing connections/channels.  
Moving connection and channel initialisation at mailet initialisation enables 
reuse and leads to dramatic enhancements of the performances of that very 
mailet. Note that retries are in place in case Rabbit is not up right at start 
- common with IE docker-compose.  The testing strategy relying on mocks is 
brittle. Given that we have full-fledged integration tests in place, we can get 
rid of these annoying mock-based tests.  - Move AmqpForwardAttribute to a 
separated maven module  - AmqpForwardAttribute should use backend-rabbitmq  It 
cares for us about channel thread safety upon reuse, connection and channel 
reconfiguration.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to