> On 7/27/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> > Sergey,
> > 
> > > Now, I have to restart my servlet container each time I have even small
> > > changes in the clay configuration file. I have not to do it for java
> > > classes, bundles, jsps. Development the UI with Clay might be much more
> > > faster if clay config file will be updated on the fly.
> > > Does any plan to avoid restarting exist?
> > >
> > 
> > Currently the clay configuration files are loaded by a context listener on 
> application startup. The meta-data is cached in application scope.
> > 
> > I don't see a reason why we couldn't reload it on the fly. It seems like 
> struts had the same feature in the early releases allowing an action to 
> reload 
> the struts-confg files. I'm positive that someone listening here could tell 
> us 
> the history and why the decision was made to remove it.
> 
> Boy, you guys *really* want to go back to history, don't you?  :-)
> 
> It is indeed true that Struts 1.0 supported (by default) a "reload"
> action that would load the Struts configuration files over again. 
> This was removed for several reasons that were valid at the time (and
> some of them are no longer relevant):
> 
> * The possibility of changing the configuration information
>   on the fly meant you really needed to synchronize on every
>   *read* of the configuration maps, even though (for most users)
>   this would never happen.  In the days of early JDK  1.2,
>   this was a *serious* performance issue (and led to the decision
>   (in Struts 1.1) to make the configuration data immutable so that
>   no locks were necessary for the normal case.  Modern JDKs make
>   this so much a non-issue that it is not worth worrying about any more.
> 
> * The particular mechansim by which Struts 1.0 implemented this feature
>   led to a potential denial-of-service attack (because of the performance
>   overhead of doing all the parsing), primarily because it was enabled
>   by default with no security constraints.  This by itself could have been
>   dealt with in other ways, but the previous point dominated the thinking
>   when Struts 1.1 was being designed.
> 
> * In a Struts 1.x world, the value of just reloading the config information
>   is not (IMHO) all that valuable unless it could be coupled with the ability
>   to load revised Java classes (Action and ActionForm implementations
>   are the most releveant ones).  Even today, that is not a practical
>   reality ... but it doesn't matter when you are talking about reloading the
>   configuration of a component tree.
> 
> > 
> > We might be able to do this with a Shale remote command.  It would be kind 
> > of 
> fun to return an XML representation of the component meta-data after all 
> inheritances have been realized.
> 
> The ideal architectural approach would be to (somehow periodically)
> examine the last modified date of the configuration resources (but do
> it via the URL APIs, so it works even if the app is loaded directly
> from a WAR file).  It should not be something that has to be initiated
> manually ... it should be something that the framework is watching for
> in the background.


Now that would be cool.  I think we would have to load all clay config files to 
resolve the inheritance dependencies but that would be way slick.


Gary

> 
> It may still be necessary to offer a mechanism to request such a
> reload manually -- but the best world is where you do not have to do
> that.
> 
> > Gary
> 
> Craig
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to