This is implemented in the following pull request:
https://github.com/jbossas/jboss-as/pull/3448
With the current implementation every servlet that is registered with
the OSGi HttpService gets its own StandardContext which potentially
shares an underlying ServletContext with another StandardContext. It
will have the path/alias as specified by the HttpService caller. So for
example /test or /foo/test - It is also allowable to pass in "/".
I've just also added OSGi HttpContext security support (AS7-5788).
At this point all of the OSGi Http Context TCK tests pass except for the
following 2:
* testLongRegistrationName() - AS7-5956
* testBundleStopping() - AS7-5957
These look like bugs that can be looked at separately.
Cheers,
David
On 20/11/2012 07:59, Thomas Diesler wrote:
Hi David,
according to ServletContext.getContextPath()
<
http://docs.oracle.com/javaee/5/api/javax/servlet/ServletContext.html#get...
it is possible that multiple context paths map to the same
ServletContext. The HttpService spec requires that there is a 1:1
mapping between the HttpContext and the ServletContext. This
conceptual abstraction should be handed down to the servlet container
implementation. So whatever represents the ServletContext at the
JBossWeb/Undertow layer should be mapped to the HttpContext object
that is used for a given registration.
HttpContext ctxA = ...
HttpService.registerServlet("/xxx/aaa", servletA, null, ctxA);
HttpService.registerServlet("/yyy/aaa", servletB, null, ctxA);
Should result in one JBossWeb/Undertow context being created with
'/xxx/aaa' as the primary path. The second registration should reuse
that context and setup an alias path of '/yyy/aaa'.
cheers
--thomas
--
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Thomas Diesler
JBoss OSGi Lead
JBoss, a division of Red Hat
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
_______________________________________________
jboss-osgi-dev mailing list
jboss-osgi-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-osgi-dev