[
https://issues.apache.org/jira/browse/COCOON-2044?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12490093
]
Alexander Klimetschek commented on COCOON-2044:
-----------------------------------------------
The problem with unique servlet uris is much more difficult, because the
special super connection depends very much on the calling servlet. This would
not be encoded when servlet:super:/foo would be replaced by
servlet:com.mycomany.myservlet:/foo since the servlet connection then thinks of
the connection as a normal one. A solution might be to scan through the
connections and look if the servlet com.mycomany.myservlet is registered under
the short name "super".
> servlet: protocol URIs have to be globally unique for use as cache-keys
> -----------------------------------------------------------------------
>
> Key: COCOON-2044
> URL: https://issues.apache.org/jira/browse/COCOON-2044
> Project: Cocoon
> Issue Type: Bug
> Components: - Servlet service framework
> Affects Versions: 2.2-dev (Current SVN)
> Reporter: Alexander Klimetschek
> Assigned To: Grzegorz Kossakowski
> Priority: Critical
>
> All servlet protocol URIs like servlet:/some/thing or servlet:super:/foo/bar
> or servlet:myblock:/another/path have to be globally unique because they are
> used in the cache, of which there is only one global with globally acting
> keys.
> There are two caches in standard Cocoon configuration (the only ones I know
> of ;-), both with a different key generation. Here are ideas how to make the
> keys global:
> a) EHDefaultStore for caching resources of caching pipelines: they use the
> uriPrefix of the Enviroment in the key, so providing a uriPrefix (eg. the
> mount path of the servlet) works here.
> b) DefaultTransientStore which caches XSLT and JX generator sources (don't
> know why this is different from a)): they do not use the uriPrefix and much
> worse, they need correct URIs because they are read by the XSLT processor,
> who does not like things like servlet:uniqueID34:/xsl/stylesheet.xsl
> containing arbitrary schemes at the beginning. Appending an ID via a query
> parameter seems the only working solution (tried it already):
> servlet:/xsl/stylesheet.xsl?servlet-services-id=12345
> Another solution would be to have one cache per sitemap, so that the keys
> don't have to be unique anymore. But I don't know how to configure that and
> if this is feasible.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.