Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Won't Fix
-
None
-
None
-
None
Description
When a servlet is registered with the OSGi HTTP Whiteboard pattern without the property osgi.http.whiteboard.context.select the "default" context helper is used (https://docs.osgi.org/specification/osgi.cmpn/7.0.0/service.http.whiteboard.html#service.http.whiteboard.common.properties)
With the Jetty Implementation from Felix in Sling this has the service.ranking Integer.MIN_VALUE (https://github.com/apache/felix-dev/blob/e7d17aca517949dd65a913f9ac5088e653a4a2dc/http/base/src/main/java/org/apache/felix/http/base/internal/whiteboard/WhiteboardManager.java#L182) while the one for the default Sling Main Servlet has no explicit ranking (i.e. 0). That leads to the fact that the Sling Main servlet always takes precedence as
In the case of two Servlet Context Helpers with the same path, the service with the highest ranking is searched first for a match. In the case of a tie, the lowest service ID is searched first.
(https://docs.osgi.org/specification/osgi.cmpn/7.0.0/service.http.whiteboard.html#service.http.whiteboard.servletcontext) as both "default" and "org.apache.sling" are registered for path "<root>".
The Sling Main servlet context should use a lower ranking so that simple servlets registered via OSGI HTTP Whiteboard pattern without explicit context can kick in at all!
Attached the web console of Sling Starter 12:
Attachments
Attachments
Issue Links
- is related to
-
SLING-5931 Unable to register a servlet using the R6 Http Service Whiteboard
- Resolved
- relates to
-
FELIX-6584 Avoid registering default servlet context as service
- Closed
-
SLING-11672 Tooling Support Install should migrate from Felix HTTP Whiteboard to OSGi HTTP Whiteboard
- Closed
-
SLING-11676 Tooling Support Source should migrate from Felix HTTP Whiteboard to OSGi HTTP Whiteboard
- Closed
- links to