[
https://issues.apache.org/struts/browse/TILES-204?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Antonio Petrelli updated TILES-204:
-----------------------------------
Flags: [Patch]
> UrlDefinitionFactory crashes during getDefinitions on multiple requests
> -----------------------------------------------------------------------
>
> Key: TILES-204
> URL: https://issues.apache.org/struts/browse/TILES-204
> Project: Tiles
> Issue Type: Bug
> Components: tiles-core
> Affects Versions: 2.0.4
> Environment: tomcat 5.5
> Reporter: Dirk Alexander Schaefer
> Assignee: Antonio Petrelli
> Priority: Critical
> Fix For: 2.0.5
>
> Attachments: UrlDefinitionsFactory.diff
>
>
> consider the following: tiles is initialized using the
> org.apache.tiles.definition.UrlDefinitionsFactory default definitions factory.
> now, when a request receives and the tiles container is instructed to render
> a specific tiles definition, the following happens (the interessing parts):
> 1. invoke 'Definition getDefinition(String name, TilesRequestContext
> tilesContext)' of UrlDefinitionFactory.
> 2. from there invoke 'Definitions getDefinitions()' of
> UrlDefinitionFactory.
> 3. if the instance attribute 'definitions' is null, from there invoke
> 'Definitions readDefinitions()' of UrlDefinitionFactory.
> within the third call the configuration is actually parsed and the
> beans/instances/what ever defined within the configuration file(s) are
> getting created.
> unfortunatelly the UrlDefinitionFactory does not synchronize the call to the
> 'Definitions readDefinitions()' method. the result is, if there are multiple
> request reaching the servlet container at once and there has no other request
> been received so long, we get into classical multithreading problematics
> where each thread is bothering the others and the process of creating the
> definitions list crashs.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.