From past discussions we decided that we are not ready to switch to MINA right now, but we want handlerapi-v2 to be easily ported to MINA and other asynchronous IO frameworks.
Not everyone agreed switching to MINA-only (and require java5 for SSL usage) and Noel made a strawman implementation of a push based/line based processor.
This is my attempt to bring this thing to James.
This is only a first hack to make it working because DataCmdHandler will need almost a full rewrite. Now I used CRLFDelimitedByteBuffer from Noel and I updated the main code to introduce a lineHandlers stack and a LineHandler interface (LineHandler is my name for Noel IOHandler, I preferred to use LineHandler to avoid reusing a mina name with a different behaviour and avoid confusion).
SMTPServerTest pass, but a lot of code have to be fixed/improved in order to apply this to trunk.