Thanks Jacob.Will try that out.

> -----Original Message-----
> From: Hookom, Jacob [mailto:[EMAIL PROTECTED]
> Sent: Thursday, December 04, 2003 8:14 PM
> To: Struts Users Mailing List
> Subject: [OT] RE: InheritableThreadLocal issues
>
>
> Yes, the issue is that the ThreadLocal var *could* be the one set on the
> previous request, therefore I have a filter that intercepts request to our
> application, creates a WebTxCache:
>
> public void doFilter(
>       ServletRequest request,
>       ServletResponse response,
>       FilterChain chain)
>       throws IOException, ServletException
> {
>       HttpServletRequest httpRequest = (HttpServletRequest) request;
>
>       /* == create cache == */
>       GenericWebTxCache cache = new GenericWebTxCache(httpRequest);
>       if (this.strategy != null)
>       {
>               cache.setStrategy(this.strategy);
>       }
>       Tx.bindCache(cache); <--- see code from last email
>
>       /* == continue on  == */
>       chain.doFilter(request, response);
> }
>
> Since you are using an older version of Tomcat, you will not have
> access to
> filters, but what you can do is extend the ActionServlet or
> RequestProcessor
> from struts to do the same thing, since you would like to do the above
> operation before it hits any of your Actions.
>
> Jacob Hookom
> Senior Analyst/Programmer
> McKesson Medical-Surgical
> Golden Valley, Minnesota
> http://www.mckesson.com
>
> -----Original Message-----
> From: Pon Umapathy K.S. [mailto:[EMAIL PROTECTED]
> Sent: Thursday, December 04, 2003 8:42 AM
> To: Struts Users Mailing List
> Subject: RE: InheritableThreadLocal issues
>
> Thanks for the reply,Jacob.
>
> Just to confirm the issue -
>  This code snippet resets the object stored in the ThreadLocal var when a
> set is made.Because there is a initial value specified,the ThreadLocal
> object might be getting initialized to the GenericTxCache() object which
> needed resetting.Did you check whether this was not the case?
>  In my case,the value in the ThreadLocal var is what was set
> using the same
> thread by a previous request.
>
> > -----Original Message-----
> > From: Hookom, Jacob [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, December 04, 2003 7:03 PM
> > To: Struts Users Mailing List
> > Subject: RE: InheritableThreadLocal issues
> >
> >
> > I've been using ThreadLocal's and had to forceably reset the
> object on the
> > ThreadLocal on every use to specify a transaction cache:
> >
> > public final class Tx
> > {
> >     private static ThreadLocal localCache = new ThreadLocal()
> >     {
> >             protected synchronized Object initialValue()
> >             {
> >                     return new GenericTxCache();
> >             }
> >     };
> >
> >     /**
> >      *
> >      */
> >     private Tx()
> >     {
> >             super();
> >     }
> >
> >     public static TxCache getCache()
> >     {
> >             return (TxCache) localCache.get();
> >     }
> >
> >     public static void bindCache(TxCache cache)
> >     {
> >             ((TxCache) localCache.get()).reset();
> >             localCache.set(cache);
> >     }
> > }
> >
> > -----Original Message-----
> > From: Pon Umapathy K.S. [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, December 04, 2003 7:27 AM
> > To: Struts list
> > Subject: InheritableThreadLocal issues
> >
> > Hi,
> >  A query regarding InheritableThreadLocal variables in the tomcat/struts
> > context.
> >
> > To explain the problem i am facing:
> >  If i am correct,for each request,tomcat uses a thread from it's
> > threadpool
> > to process the request.
> >  Suppose during one of these requests,i set the value of a
> > InheritableThreadLocal variable.Once this request is
> processed,the thread
> > will be available for use from the ThreadPool.Does
> tomcat/struts reset the
> > value of the InheritableThreadLocal variable which was set by
> the previous
> > request processing?(it should,ideally). The tomcat version i am using is
> > 3.3.1a.The struts version 1.0.
> >
> >  It seems to me that the InheritableThreadLocal value which was set by a
> > previous request on a thread is still retained when that thread
> is reused
> > for processing another request.Are there any known issues
> regarding this?
> >  Would be really helpful if someone can answer this.A bit
> urgent.Thanks in
> > advance.
> >
> > Regards,
> > Umapathy
> >
> >
> > ---------------------------------------------------------------------
> > 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]
> >
>
>
> ---------------------------------------------------------------------
> 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]
>


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

Reply via email to