Bug 51145 - Need a NIO-based AJP connector
Summary: Need a NIO-based AJP connector
Alias: None
Product: Tomcat 7
Classification: Unclassified
Component: Connectors (show other bugs)
Version: unspecified
Hardware: All All
: P2 enhancement with 1 vote (vote)
Target Milestone: ---
Assignee: Tomcat Developers Mailing List
Depends on:
Reported: 2011-05-03 11:27 UTC by Jess Holle
Modified: 2011-05-17 17:27 UTC (History)
0 users


Note You need to log in before you can comment on or make changes to this bug.
Description Jess Holle 2011-05-03 11:27:32 UTC
One of the major changes in Tomcat 7 is that it supports the Servlet 3.0 specification.  A major part of the Servlet 3.0 specification is obviously the support for asynchronous requests.

Some of us need to use Apache and mod_jk to provide load balancing over multiple Tomcats.  This means using the AJP connector, which currently has only BIO and APR options.  For those of us needing to support many (7) different platforms (some with horrific linkers, etc), APR is just not a workable solution -- too many nasty builds.

For such use cases a NIO-based AJP connector would really be enormously helpful.

Mark Thomas stated, "I don't know how much work that would be to write but
with the refactoring already completed for Tomcat 7 it might be as
little as 1000 lines of code."
Comment 1 Mark Thomas 2011-05-15 11:38:15 UTC
An initial implementation is available in trunk/7.0.x. It will be included in 7.0.15 onwards.

There are some aspects that are known to fail (e.g. request bodies). Once all the TCK tests pass, the experimental label will be removed and this issue will be marked as resolved.
Comment 2 Mark Thomas 2011-05-17 17:25:24 UTC
This has been implemented in 7.0.x and will be included in 7.0.15 onwards.
Comment 3 Jess Holle 2011-05-17 17:25:59 UTC
Does it pass TCK tests yet?
Comment 4 Mark Thomas 2011-05-17 17:27:50 UTC
Yep. It passes the Servlet 3.0 TCK with mod_jk and mod_proxy_ajp.