> > By use of the appropriate velocityEngine.evaluate() method that
> > takes the template as a String. It will bypass Velocity's internal
> > cache, but our first goal is to respect the API, then to try to
> > optimize.
> >
> > Speaking about it, since the engine has access to the filename, we
> > could try to still use the cache. Velocity's cache is here to not
> > only bypass the actual reading of the file, but also the parsing
> > process - and since the OS will already cache the file in memory,
> > it's the parsing of the template which is the most interesting to
> > avoid via the caching mechanism. Here, we're given the content of
> > the file at the same time as its name (via the special property
> > "javax.script.filename"). So we can still do some caching, by just
> > ignoring the newly provided content when the filename is present in
> > the cache.
> >
> > For this to work properly, we may have to implement our own
> > Velocity ResourceLoader.w
> >
> 
> So what you basically intending is to provide an additional context
> parameter which has the file name of the template(so that to read it
> inside evaluate method and use that for
> velocityEngine.getTemplate(filename) ) while providing the script it
> self to the evaluate method ?

See page 151 of the specs. There is a bunch of reserved property names.
Populating them is optional (and not always meaningful), but for our
caching problem, systematically filling javax.script.filename with the
template filename looks appropriate.

We don't want to use the getTemplate() method, since we are already
given a String or a Reader towards the template. But since we also know
the filename it comes from, we can cache and reuse the parsed template
each time we get the same filename.

GSOC officials say <<Monday, 13 August is our soft
"pencils down" date. We suggest that students have completed their
projects by this date and spend a week writing documentation and
wrapping up their projects. We require that students stop all coding on
20 August.>>

It's one week from now. I think that trying to achieve this last
feature (Velocity resource caching based only on the filename) is a
reachable goal.


  Claude

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@velocity.apache.org
For additional commands, e-mail: dev-h...@velocity.apache.org

Reply via email to