You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Konrad Windszus (Jira)" <ji...@apache.org> on 2023/04/12 07:01:00 UTC

[jira] [Comment Edited] (SLING-11677) Sling Engine Context 'org.apache.sling' has higher ranking than 'default' context

    [ https://issues.apache.org/jira/browse/SLING-11677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17711217#comment-17711217 ] 

Konrad Windszus edited comment on SLING-11677 at 4/12/23 7:00 AM:
------------------------------------------------------------------

With https://issues.apache.org/jira/browse/FELIX-6584 implemented it is no longer possible to leverage the default context in any servlets used in a Sling distribution. Therefore closing this as Won't fix. I am gonna extend https://sling.apache.org/documentation/the-sling-engine/servlets.html to mention how OSGi HTTP Whiteboard can be used in OSGi runtimes where the Sling Main Servlet is deployed as well (https://github.com/apache/sling-site/pull/108/files).


was (Author: kwin):
With https://issues.apache.org/jira/browse/FELIX-6584 implemented it is no longer possible to leverage the default context in any servlets used in a Sling distribution. Therefore closing this as Won't fix. I am gonna extend https://sling.apache.org/documentation/the-sling-engine/servlets.html to mention how OSGi HTTP Whiteboard can be used in OSGi runtimes where the Sling Main Servlet is deployed as well.

> Sling Engine Context 'org.apache.sling' has higher ranking than 'default' context
> ---------------------------------------------------------------------------------
>
>                 Key: SLING-11677
>                 URL: https://issues.apache.org/jira/browse/SLING-11677
>             Project: Sling
>          Issue Type: Bug
>          Components: Engine
>            Reporter: Konrad Windszus
>            Assignee: Konrad Windszus
>            Priority: Major
>         Attachments: HTTP-Service-Default-Context.png, Servlet-Contexts.png
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> 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
> {quote}
> 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.
> {quote}
> (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:
>  !Servlet-Contexts.png! 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)