This week's book giveaway is in the Clojure forum.
We're giving away four copies of Clojure in Action and have Amit Rathore and Francis Avila on-line!
See this thread for details.
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

the availabilty of request object

 
babu krishnan
Greenhorn
Posts: 25
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi all,
I have a doubt. I requset for an action to my servlet, and servlet spawns a thread for my request. That thread calls my service method (If iam correct) and in that iam calling an action class to server that request. Here in the action class i spawn a thread to do the task and i come out of service method and redirects to a page.
My question is if the thread which iam spawning in my action class takes some time and meanwhile my service method is over and i get a response, what happens to my thread's life. As the request object's life itself is over(i suppose),which is parent how can my child thread runs?
Please reply ASAP.
Thanx to all
 
William Brogden
Author and all-around good cowpoke
Rancher
Posts: 13045
6
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Generally speaking you need to do everything with the Thread that the Servlet Engine (ie Tomcat etc) provides when it calls the service method.
It is perfectly possible to start more Threads from a servlet but you should never start your own Thread unless you really know what you are doing.
You are correct about the request object - the lifetime of a request object is managed by the servlet container, you should not try to hang on to it.
Bill
 
babu krishnan
Greenhorn
Posts: 25
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi all,
I think still my question is not fully answered.
What happens if my action class spawns a thread and my servlet's service method is over and redirects to some other page and what happens to my request object. Does it die OR does my requested action completes or not.(My requested action completes only when the thread which i spawned completes its run method)

Your answer would be greatly helpful on this.
 
William Brogden
Author and all-around good cowpoke
Rancher
Posts: 13045
6
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
After the response has been generated and the servlet Thread exits the service method, the servlet engine can do what it likes with the request object. It is my understanding that for efficiency, typical servlet engines re-cycle the request object by some sort of process that drops all parameters and attributes that were
attached during request processing. You must not count on anything remaining valid in a request object after the response is sent.
Any Thread started during processing will ontinue until the run method is exited. There is nothing magic about Threads created during request processing.
You must be very careful about the servlet Thread, if you tie it up - by join()ing another Thread, for instance, it could interfere with the servlet engine's response to other requests.
Bill
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic