Here's a follow-up question:

I remember creating a thread in one of my Action classes because I
needed to show a "Wait while your request is being processed..." page.

The flow goes something like:
    1. the MAIN thread returns an ActionForward right away that
contains the "processing" page;
    2. the NEW thread I created goes ahead and makes the back-end call
that takes a considerable amount of time to process;
    3. After NEW thread returns with the results, it sets a flag in
the session that it's done with the processing;
    4. Meanwhile, the processing page keeps refreshing itself and
sending execution to an action which checks for the session flag set
in #3;
     5. When it finally finds the session flag, it forwards to the results page.

Its working fine for me. No weird behavior on Weblogic or SAP WAS.
Although now I'm curious: Is there a better way to approach this
problem?

Regards,
-Yves-


On Mon, 6 Dec 2004 15:03:09 -0600, [EMAIL PROTECTED]
<[EMAIL PROTECTED]> wrote:
> 
> 
> As has been noted by others, JMS would be the better solution for an
> asynchronous 'process'.
> 
> But, if you have to use threads then it is probably a better approach to
> create a thread pool at appliction initialization and have the actions use
> those threads via a common synchronized data structure (hidden behind an
> interface).
> 
> Ensure that you have a good unique context for correlating the request and
> response (not to be confused with the http req/resp)
> 
> depending upon the volume of traffic you should be able to get away with a
> small number of threads. The actual count can be controlled via an extenal
> property.
> 
> good luck.
> 
> JC
> 
>                       "Jim Barrows"
>                       <[EMAIL PROTECTED]        To:       "Struts Users 
> Mailing List" <[EMAIL PROTECTED]>,
>                       m>                        [EMAIL PROTECTED]
>                                                cc:
>                       12/06/2004 02:52         Subject:  RE: [OT]Threads and 
> Servlets Question
> 
> 
>                       PM
>                       Please respond to
>                       "Struts Users
>                       Mailing List"
> 
> > -----Original Message-----
> > From: bryan [mailto:[EMAIL PROTECTED]
> > Sent: Monday, December 06, 2004 1:15 PM
> > To: Struts Users Mailing List
> > Subject: Re: [OT]Threads and Servlets Question
> >
> >
> > threads are also a finite resource  ( particularly on Linux ).
> >
> > --b
> >
> >
> > On Mon, 6 Dec 2004 21:13:57 +0100, bryan <[EMAIL PROTECTED]> wrote:
> > > because you should use a message driven bean to do
> > something like that.
> > >
> > > --b
> 
> If the brass monkeys upstairs would let me, I would.  However, they won't,
> and I've used up all of my "oops I did it anyway" cards for a while.  So,
> while helpful, doesn't really answer my question.
> 
> As for a finite resource...... as someone else said so is memory, disk
> space, CPU, etc etc.  As for being on linux.... I've done some pretty nasty
> multi-threading, in java, on linux and haven't hit that ceiling yet...
> ymmmv.
> 
> > >
> > >
> > >
> > >
> > > On Mon, 6 Dec 2004 11:48:15 -0700, Jim Barrows
> > <[EMAIL PROTECTED]> wrote:
> > > > Okay... I know I've read this somewhere, but can't remember.
> > > > Why is it recommended you NOT start a thread inside a
> > servlet, which would translate to "Why is it a bad idea to
> > start a thread inside an action?".
> > > > And, can you point me at some documentation?
> > > >
> > > >
> > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > > >
> > >
> > >
> > > --
> > > http://www.revoltingdigits.com
> > > https://jestate.dev.java.net
> > >
> >
> >
> > --
> > http://www.revoltingdigits.com
> > https://jestate.dev.java.net
> >
> > ---------------------------------------------------------------------
> > 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]
> 
> 
> ------------------------------------------------------------------------------
> **********
> The information contained in this communication is confidential, private, 
> proprietary, or otherwise privileged and is intended only for the use of the 
> addressee.  Unauthorized use, disclosure, distribution or copying is strictly 
> prohibited and may be unlawful.  If you have received this communication in 
> error, please notify the sender immediately at (312)653-6000 in Illinois; 
> (972)766-6900 in Texas; or (800)835-8699 in New Mexico.
> **********
> ==============================================================================
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


-- 
A bus station is where a bus stops. A train station is where a train
stops. On my desk I have a work station...

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

Reply via email to