tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Antony Paul" <antonypau...@hotmail.com>
Subject Re: Serializable Logging implementation
Date Wed, 15 Sep 2004 13:38:35 GMT
My understanding is that this event will be called when the container
passivates for transfering one object from one VM to Another like a cluster.
Will this be invlked on Tomcat 4.1 when an object is serialised ?.

rgds
Antony Paul

----- Original Message -----
From: "Tim Funk" <funkman@joedog.org>
To: "Tomcat Users List" <tomcat-user@jakarta.apache.org>
Sent: Wednesday, September 15, 2004 6:50 PM
Subject: Re: Serializable Logging implementation


> Your NPE comes from the transient value not being restored from
de-serialization.
>
> Your best chance at this point without a lot of code changes is to
> 1) Make your log variable transient
> 2) Make your base class implement HttpSessionActivationListener.
> 3) Make your implementation of sessionDidActivate():
>
> public void sessionDidActivate(HttpSessionEvent se) {
>    if (log==null)
>      log = LogFactory.getLog(this.getClass());
> }
>
> public void sessionWillPassivate (HttpSessionEvent se) {
>    ; /* Nothing to do */
> }
>
>
> -Tim
>
> Antony Paul wrote:
>
> > Then it throws NullPointerException
> >
> > rgds
> > Antony Paul
> >
> > ----- Original Message -----
> > From: "Shapira, Yoav" <Yoav.Shapira@mpi.com>
> > To: "Tomcat Users List" <tomcat-user@jakarta.apache.org>
> > Sent: Wednesday, September 15, 2004 6:05 PM
> > Subject: RE: Serializable Logging implementation
> >
> >
> >
> > Hi,
> > Hmm, you want to be careful with this pattern.  I like the private
> > static one for Loggers -- there are very good reasons it's the
> > recommended pattern (by log4j, by the java.util.logging folks) and the
> > one that's used (by Tomcat and most other serious apps I know of).
> >
> > If you really want to stick with your "base class gets the logger"
> > pattern, consider marking it as transient.
> >
> > Yoav Shapira
> > Millennium Research Informatics
> >
> >
> >
> >>-----Original Message-----
> >>From: Antony Paul [mailto:antonypaul24@hotmail.com]
> >>Sent: Wednesday, September 15, 2004 8:27 AM
> >>To: Tomcat Users List
> >>Subject: Re: Serializable Logging implementation
> >>
> >>I extend a base form which gets the Log as
> >>LogFactory.getLog(this.getClass());
> >>So that no need to define and get a Log instance in subclass. Is there
> >
> > any
> >
> >>way so that I can follow this pattern.
> >>
> >>rgds
> >>Antony Paul
> >>
> >>----- Original Message -----
> >>From: "Tim Funk" <funkman@joedog.org>
> >>To: "Tomcat Users List" <tomcat-user@jakarta.apache.org>
> >>Sent: Wednesday, September 15, 2004 4:38 PM
> >>Subject: Re: Serializable Logging implementation
> >>
> >>
> >>
> >>>logging instances should be static to the class.
> >>>
> >>>// Commons logging example but a log4j equiv should be easy to find
> >>>     private static Log log = LogFactory.getLog(MyClass.class);
> >>>
> >>>
> >>>-Tim
> >>>
> >>>Antony Paul wrote:
> >>>
> >>>
> >>>>Hi,
> >>>>    I used Log4J and commons logging in an ActionForm which is
> >
> > stored
> >
> >>in
> >>the
> >>
> >>>>session. When I reload the context it is invalidating the session
> >>
> >>because it
> >>
> >>>>is non serializable. Is there any work around for this ?. Or do I
> >
> > have
> >
> >>to
> >>
> >>>>use any other Logger.
> >>>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Mime
View raw message