Description
Currently the jetty integration does not fit into the separate build-configuration / load-and-start-configuration pattern used by the rest of geronimo: the JettyWebAppContext gbean relies on the jetty xml deployment code to construct the actual runtime configuration at runtime. As a side effect, we have no gbeans for servlets, so have no way to expose the jsr-77 statistics that jetty can collect for us.
Instead, the jetty module builder should construct gbeans for the web app context and each servlet directly, and the jetty xml configuration mechanism should be disabled. As a side effect, we will be able to easily construct specialized deployers for portlets and web services, in which some non-servlet artifact is wrapped in a particular kind of servlet. We can simply construct a servlet holder gbean configured for this servlet, avoiding the need to munge xml to fit these uses into normal servlet deployment.
Preliminary investigation indicates that it may be necessary to ask that some methods in Jetty's WebAppContext be made public rather than package protected for this to be possible.