FYI, there's no need to wrap the tapestry servlet (it's actually a filter).
tapestry-cometd works by contributing a HttpServletRequestFilter to tapestry. The filter instantiates / delegates through to a CometdServlet instance. http://tapestry.apache.org/request-processing.html https://github.com/uklance/tapestry-cometd/blob/master/src/main/java/org/lazan/t5/cometd/services/internal/CometdHttpServletRequestFilterImpl.java