hi,
done. please see https://issues.apache.org/struts/browse/TILES-204
greez,
dirk
----- Original Message -----
From: "Antonio Petrelli" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Monday, August 27, 2007 1:36 PM
Subject: Re: tiles2 crashes (digester)
2007/8/27, Schaefer, Dirk Alexander <[EMAIL PROTECTED]>:
hello all,
this is a following up to the email sent before.
i spend a bit more time in investigating the problem and found the
following.
consider the following: tile is initialized using the
org.apache.tiles.definition.UrlDefinitionsFactory.
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) ar
created.
unfortunatelly the UrlDefinitionFactory does not synchronize the call to
the
'Definitions readDefinitions()' method. the result is, if there are
multiple request received by the servlet container at once and there has
no
other request been received so long, we get into classical multi
threading problematics where each thread is bothering the others and the
process of creating the definitions list crashs.
i think this is where's the rub.
can anyone confirm this?
Great analysis Dirk! Can you open a JIRA issue for this?
Thanks
Antonio