I'm having a hard time understanding why refactoring your utility class would have a serious impact on the migration time. If it's just that you don't want to change the signature of your utility method because it's used many other places, then create a new utility method with the required parameters and extract the common bits. That way you have kept your old method, created a new one and shared the common code between them:
Before: public static void doSomething(HttpServletRequest request) { // Do something with the request } After: public static void doSomething(HttpServletRequest request) { // Extract params from request doSomething(param1, param2, param3); } public static void doSomething(Object param1, Object param2, Object param3) { // Do whatever you need with the params } Nils-H On Wed, Nov 26, 2008 at 7:57 AM, nikunj <[EMAIL PROTECTED]> wrote: > Thanks Nils-H > > Actually I am migrating my existing application, need to reduce migration > time. > > Is there any way to make request object as common for all available thread, > So that we no need to extract the information of request object. > > Regards, > Nikunj > > > -----Original Message----- > From: Nils-Helge Garli Hegvik [mailto:[EMAIL PROTECTED] > Sent: Wednesday, November 26, 2008 12:16 PM > To: Struts Users Mailing List > Subject: Re: ExecuteAndWaitInterceptor Issue - ThreadLocal object > > As you say, the request object can be recycled by the container after > the thread has executed [1]. You can't "fix" this as it's up to the > container to handle this. You have to refactor your code so it's not > passing the request object around to different threads. Typically you > would extract the information you need from the request and pass the > data you nedd to the new thread instead. > > Nils-H > > [1] - Servlet 2.4 specification, section SRV.4.10 > > On Wed, Nov 26, 2008 at 6:29 AM, nikunj <[EMAIL PROTECTED]> wrote: >> Dear All, >> >> >> >> Servlet container is written to be single-threaded. >> >> >> >> That means that the "request" object isn't designed to be used after the >> >> thread that handled the request has finished executing. What is >> >> happening is this: >> >> >> >> 1) Thread1 handles request >> >> 2) Thread1 gives request to Tomcat >> >> 3) Tomcat starts Thread2 and executes your action >> >> 4) Thread1 finishes and cleans up request >> >> 5) Your action (on Thread2) tries to use the request >> >> >> >> Step #5 causes an exception in the container. Null pointer exeception >> >> >> >> How to fix this issue? >> >> >> >> Can any body help me? >> >> >> >> Thanks in advance >> >> >> >> >> >> >> >> Regards, >> >> >> >> Nikunj Mulani >> >> Applied Software Pvt. Ltd. >> >> Ahmedabad >> >> 91-98249 88262 >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > __________ NOD32 3641 (20081126) Information __________ > > This message was checked by NOD32 antivirus system. > http://www.eset.com > > > > --------------------------------------------------------------------- > 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]