[ 
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.

Reply via email to