commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hans Gilde <>
Subject RE: [jelly] Stateless/Stateful Tag?
Date Wed, 03 Nov 2004 04:40:51 GMT
This has been discussed recently. Some are in favor of passing the context
down through the execution chain, some are in favor of separating the
variable storage from the rest of the context.

We may be able to solve your problem without deciding the issue now.

JellyContext is designed to be sub classed by the end user, to provide
custom memory management. We can't clear out the actual context objects but
maybe we can do the next best thing by clearing out the HashMap of

You could:

* Clear the variables for a tag as soon as the tag's finished running.
* Provide a method on the top-level context, "clearAllVariables", to let you
programmatically clear the top-level and all child context variables between

Would either of these work for you? If so, your problem can be solved pretty
quickly with only a custom JellyContext.


-----Original Message-----
From: Jiaqi [] 
Sent: Tuesday, November 02, 2004 12:56 PM
To: Jakarta Commons Users List
Subject: Re: [jelly] Stateless/Stateful Tag?

So what is the best practice for developer to frequently execute
predefined jelly script?

In my project, process is defined in xml file, which will not be
changed logically, which could be very complicated. Logically volatile
stuff is variables (like current user name and form data). It's easier
for me to model process definition with tag/scripts and put variables
into JellyContext. Otherwise, I can not figure out any solution else.

What is your suggestions? Thanks

On Tue, 2 Nov 2004 09:37:25 +0100, Paul Libbrecht <>
> Mmmh,
> I would rather view the contrary: tag and tagscript objects are
> entirely volatile where the context is something that stores exactly
> how much you want (that is, not more than needed).
> So I'd rather rely on the jelly-context to add states of the tag...
> paul
> Le 1 nov. 04, à 20:41, Jiaqi Guo a écrit :
> > Hi everyone,
> >
> > I want to reuse jelly Script object since in my current project,
> > Script will run frequently with different given JellyContext created
> > at runtime and I don't want to create Script and Tag objects time and
> > time again.
> >
> > My concern is, in TagScript, Tag object is cached in ThreadLocal and
> > runtime JellyContext object is sitting in Tag object. So runtime
> > context is saved until next time the Script runs. To my understanding,
> > JellyContext should not be saved because it's transient. Putting it
> > into Tag object makes developer easy, and makes Tag object stateful.
> >
> > Is there any thing I can do to clean Tag objects after the doTag
> > method is called without explicitely add setContext(null) in each
> > doTag() method, or prevent Tag from absorbing JellyContext into
> > itself? Any suggestions?
> >
> >
> >
> > Thanks
> > Jiaqi
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> > For additional commands, e-mail:
> >
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:


To unsubscribe, e-mail:
For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message