[
https://issues.apache.org/jira/browse/SLING-6567?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15885934#comment-15885934
]
Stefan Seifert commented on SLING-6567:
---------------------------------------
Completed: At revision: 1784586
i've applied the patch with the change you proposed - it's more conservative. i
think the reason the problem did not exist without this fix for observation
listeners with patterns because of the special logic in the
{{o.a.s.api.resource.pathPath.matches}} method which - in case of not matching
- tries again with partial paths of the pattern until it matches. perhaps this
was the wrong position for this logic and it should have been better handled
here.
> BasicObservationReporter ignores resource changes for resource providers
> mounted at specific paths
> --------------------------------------------------------------------------------------------------
>
> Key: SLING-6567
> URL: https://issues.apache.org/jira/browse/SLING-6567
> Project: Sling
> Issue Type: Bug
> Components: ResourceResolver
> Affects Versions: Resource Resolver 1.5.14
> Reporter: Stefan Seifert
> Assignee: Stefan Seifert
> Fix For: Resource Resolver 1.5.16
>
> Attachments: SLING-6567.patch
>
>
> with the new resource provider SPI an intelligent ResourceListener mechanism
> was introduced which allows to generate and route resource change events only
> when a listener is actual interested in this change. this works well when the
> resource provider is a root provider mounted at {{/}}.
> however this currently fails when an additional resource provider is mounted
> at a specific path - e.g. at {{/apps/app1}}. in this case listeners mounted
> to specific glob patterns like {{glob:/apps/**/*.html}} get the changes
> reported by the resource provider, but listeners registered to {{/}} do not.
> this is a severe problem as some listeners like the script resolution cache
> are registered to {{/}}.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)