CQ uses Sling's ResourceResolver but this is not related to the sling:include 
or cq:include tag because those tags just get the ResourceResolver from the 
SlingHttpServletRequest object.



Regards
Felix

Am 05.02.2013 um 02:53 schrieb Julian Sedding:

> Sling follows the principal of clear separation between public APIs
> and implementation. The ResourceResolver is an interface, used to
> define the API contract. This provides Sling itself with the freedom
> to change or move the implementation (which is ResourceResolverImpl
> btw). The implementation should normally not be of your concern,
> however. If you're interested, I suggest you check out the Sling
> source-code. To my knowledge, CQ also uses Sling's ResourceResolver,
> but I am not familiar with the internals of the cq:include tag.
> 
> Regards
> Julian
> 
> 
> On Tue, Feb 5, 2013 at 11:28 AM, Ulrich Schmidt
> <ulrich-dieter.schm...@gombers.de> wrote:
>> Oh sh.. - I should have thought of this myself.  Thank you, that was it.
>> 
>> But there is still the question left about behaviour of the 
>> ResourceResolver. I
>> think I should understand who is implementing this interface - Sling? CQ5?
>> 
>> brgds,
>> Ulrich
>> 
>> 
>> 
>> 
>> Julian Sedding <jsedd...@gmail.com> hat am 5. Februar 2013 um 09:28 
>> geschrieben:
>>> Hi Ulrich
>>> 
>>> Looking at the "Recent Requests" trace you provided, I would suspect
>>> that your topnav.jsp has an include on itself. This results in endless
>>> recursion, which is evident by the error you get. I would expect the
>>> error message to be a RecursionTooDeepException, indicating that the
>>> nesting of your scripts is suspiciously deep.
>>> 
>>> Hope this helps.
>>> 
>>> Regards
>>> Julian
>>> 
>>> 
>>> On Mon, Feb 4, 2013 at 4:50 PM, Ulrich Schmidt
>>> <ulrich-dieter.schm...@gombers.de> wrote:
>>>> Right now I'm dealing with this problem: The node:
>>>> "/apps/mywebsite/components/content/body.jsp" references another jsp 
>>>> located
>>>> at
>>>> "/apps/mywebsite/components/topnav/topnav.jsp" by the expression:
>>>> "< cq:include path = "topnav" resourceType = "mywebsite/components/topnav"
>>>> />"
>>>> within body.jsp.
>>>> 
>>>> When rendering the webpage I get an error because by resolving the path
>>>> mywebsite/components/topnav the string "topnav" is iteratively added to the
>>>> ResourcePath. So it looks like:
>>>> /content/mywebsite/en/products/jcr:content/topnav/topnav/topnav....
>>>> 
>>>> The error at the browser looks like this:
>>>> Page = /content/mywebsite/en/products
>>>> ResourcePath =
>>>> /content/mywebsite/en/products/jcr:content/topnav/topnav/topnav....
>>>> Cell = topnav
>>>> CellSearchPath = contentpage | page/topnav/topnav/topnav.....
>>>> ComponentPath = /apps/mywebsite/en/components/topnav
>>>> 
>>>> I made a mistake somewhere but I don't know where. I can delete what I did
>>>> and
>>>> try again - this will most probably solve the error. The samle did already
>>>> run,
>>>> I started over again for training purposes. But it would be better for me 
>>>> to
>>>> find the cause to get a feeling for what might go wrong and how to debug 
>>>> it.
>>>> I can try to lookup any definition I made so far, but I would rather prefer
>>>> to
>>>> get some knowledge about the debugging possibilities right now available. I
>>>> know
>>>> the "Recent Requests"-Trace already. I found the iteration (adding "topnav"
>>>> to
>>>> the resource path in a loop), but from this I can'T estimate for the 
>>>> reason.
>>>> And this is what I would like to ask for here. What can I do to understand
>>>> where
>>>> this behaviour might comes from.
>>>> 
>>>> best Regards,
>>>> Ulrich
>>>> 
>>>> 
>>>> Snippet from the "Recent Requests"-Trace:
>>>> 
>>>> -02-04 16:07:55) LOG Including script body.jsp for
>>>> path=/content/mywebsite/en/products/jcr:content,
>>>> type=mywebsite/components/contentpage:
>>>> /apps/mywebsite/components/contentpage/body.jsp
>>>> 31 (2013-02-04 16:07:55)
>>>> TIMER_START{/apps/mywebsite/components/contentpage/body.jsp}
>>>> 31 (2013-02-04 16:07:55) LOG Including resource SyntheticResource,
>>>> type=mywebsite/components/topnav,
>>>> path=/content/mywebsite/en/products/jcr:content/topnav
>>>> (SlingRequestPathInfo:
>>>> path='/content/mywebsite/en/products/jcr:content/topnav',
>>>> selectorString='null',
>>>> extension='html', suffix='null')
>>>> 31 (2013-02-04 16:07:55) TIMER_START{resolveServlet(SyntheticResource,
>>>> type=mywebsite/components/topnav,
>>>> path=/content/mywebsite/en/products/jcr:content/topnav)}
>>>> 31 (2013-02-04 16:07:55) TIMER_END{0,resolveServlet(SyntheticResource,
>>>> type=mywebsite/components/topnav,
>>>> path=/content/mywebsite/en/products/jcr:content/topnav)} Using servlet
>>>> /apps/mywebsite/components/topnav/topnav.jsp
>>>> 31 (2013-02-04 16:07:55) LOG Applying Includefilters
>>>> 31 (2013-02-04 16:07:55) LOG Calling filter:
>>>> com.day.cq.wcm.core.impl.WCMComponentFilter
>>>> 31 (2013-02-04 16:07:55) LOG Calling filter:
>>>> com.day.cq.wcm.core.impl.WCMDebugFilter
>>>> 31 (2013-02-04 16:07:55)
>>>> TIMER_START{/apps/mywebsite/components/topnav/topnav.jsp#2}
>>>> 31 (2013-02-04 16:07:55) LOG Including resource SyntheticResource,
>>>> type=mywebsite/components/topnav,
>>>> path=/content/mywebsite/en/products/jcr:content/topnav/topnav
>>>> (SlingRequestPathInfo:
>>>> path='/content/mywebsite/en/products/jcr:content/topnav/topnav',
>>>> selectorString='null', extension='html', suffix='null')
>>>> 31 (2013-02-04 16:07:55) TIMER_START{resolveServlet(SyntheticResource,
>>>> type=mywebsite/components/topnav,
>>>> path=/content/mywebsite/en/products/jcr:content/topnav/topnav)}
>>>> 31 (2013-02-04 16:07:55) TIMER_END{0,resolveServlet(SyntheticResource,
>>>> type=mywebsite/components/topnav,
>>>> path=/content/mywebsite/en/products/jcr:content/topnav/topnav)} Using
>>>> servlet
>>>> /apps/mywebsite/components/topnav/topnav.jsp
>>>> 31 (2013-02-04 16:07:55) LOG Applying Includefilters
>>>> 31 (2013-02-04 16:07:55) LOG Calling filter:
>>>> com.day.cq.wcm.core.impl.WCMComponentFilter
>>>> 31 (2013-02-04 16:07:55) LOG Calling filter:
>>>> com.day.cq.wcm.core.impl.WCMDebugFilter
>>>> 31 (2013-02-04 16:07:55)
>>>> TIMER_START{/apps/mywebsite/components/topnav/topnav.jsp#3}
>>>> 31 (2013-02-04 16:07:55) LOG Including resource SyntheticResource,
>>>> type=mywebsite/components/topnav,
>>>> path=/content/mywebsite/en/products/jcr:content/topnav/topnav/topnav
>>>> (SlingRequestPathInfo:
>>>> path='/content/mywebsite/en/products/jcr:content/topnav/topnav/topnav',
>>>> selectorString='null', extension='html', suffix='null')
>>>> 31 (2013-02-04 16:07:55) TIMER_START{resolveServlet(SyntheticResource,
>>>> type=mywebsite/components/topnav,
>>>> path=/content/mywebsite/en/products/jcr:content/topnav/topnav/topnav)}
>>>> 31 (2013-02-04 16:07:55) TIMER_END{0,resolveServlet(SyntheticResource,
>>>> type=mywebsite/components/topnav,
>>>> path=/content/mywebsite/en/products/jcr:content/topnav/topnav/topnav)} 
>>>> Using
>>>> servlet /apps/mywebsite/components/topnav/topnav.jsp
>>>> 31 (2013-02-04 16:07:55) LOG Applying Includefilters
>>>> 31 (2013-02-04 16:07:55) LOG Calling filter:
>>>> com.day.cq.wcm.core.impl.WCMComponentFilter
>>>> 31 (2013-02-04 16:07:55) LOG Calling filter:
>>>> com.day.cq.wcm.core.impl.WCMDebugFilter
>>>> 31 (2013-02-04 16:07:55)
>>>> TIMER_START{/apps/mywebsite/components/topnav/topnav.jsp#4}
>>>> 31 (2013-02-04 16:07:55) LOG Including resource SyntheticResource,
>>>> type=mywebsite/components/topnav,
>>>> path=/content/mywebsite/en/products/jcr:content/topnav/topnav/topnav/topnav
>>>> (SlingRequestPathInfo:
>>>> path='/content/mywebsite/en/products/jcr:content/topnav/topnav/topnav/topnav',
>>>> selectorString='null', extension='html', suffix='null')
>>>> 31 (2013-02-04 16:07:55) TIMER_START{resolveServlet(SyntheticResource,
>>>> type=mywebsite/components/topnav,
>>>> path=/content/mywebsite/en/products/jcr:content/topnav/topnav/topnav/topnav)}
>>>> 31 (2013-02-04 16:07:55) TIMER_END{0,resolveServlet(SyntheticResource,
>>>> type=mywebsite/components/topnav,
>>>> path=/content/mywebsite/en/products/jcr:content/topnav/topnav/topnav/topnav)}
>>>> Using servlet /apps/mywebsite/components/topnav/topnav.jsp
>>>> 31 (2013-02-04 16:07:55) LOG Applying Includefilters

Reply via email to