Re: [tools] Toolbox preventing session serialization

Nathan Bubna <[email protected]> Tue, 11 Mar 2014 13:17:16 -0700
Newsgroups gmane.comp.jakarta.velocity.user
Message-ID <CAFyaDjH5QPKYoE6YeAqo=jCxqV_YMHed=7Dhm9z5apOZW1BtfQ@mail.gmail.com>
The "Configuring" section in the upgrade doc describes how to turn off the
default tools.

http://velocity.apache.org/tools/releases/2.0/upgrading.html

And yeah, a transient logger implementation sounds reasonable, but i
honestly haven't used or looked at this code in years, so it's hard to be
certain without seeing the changes or making them myself (which i don't
have time for).


On Tue, Mar 11, 2014 at 12:54 PM, Christopher Schultz <
[email protected]> wrote:

> Claude,
>
> On 3/11/14, 4:57 AM, Claude Brisson wrote:
> > The session toolbox is always created by default, to let users access
> > standard session tools.
> >
> > There is a create-session parameter you can use for this purpose, see:
> >   http://velocity.apache.org/tools/releases/2.0/config.xml.html
>
> Is it possible to disable all of the session-related tools -- even those
> loaded by default? When I switched from the "old" format to the new
> tools format, it seems I'm getting a large number of out-of-the-box
> tools that I don't necessarily need. If I can disable those that are
> destined for the user's session, will the session toolbox disappear as
> well? Is it possible to completely-disable the default tools?
>
> > Yes, the problem is org.apache.velocity.runtime.log.Log, which is not
> > serializable. It's rather logic, since a logger is basically an output
> > stream. But some session standard tools keep a reference on a logger.
> > There is a design issue we should adress, here.
>
> It seems reasonable to make the logger transient, and then attempt to
> obtain a local logger in readObject(). That shouldn't really affect the
> design in general... just the implementation of those tools that require
> a logger.
>
> -chris
>
>