Description
As I was writing in #PROTOCOLS-11 ....
AbstractRetrCmdHandler.writeMessageContentTo does a loop and blocks while it writes each line of the message to the output channel.
This way if the remote client is blocking you either fill a buffer or block an executor thread of the SEDA pool.
So it has to be changed.
In the API we solved this issue for incoming streams (DataCmdHandler for SMTP) and we push a new linehandler in the chain to handle asynchronous streaming.
Maybe this needs a similar solution but reversed for writing a stream.
Attachments
Issue Links
- duplicates
-
JAMES-1140 RetrCmdHandler and TopCmdHandler can block the I/O Thread
- Resolved