Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

RequestDispatcher's forward method does not work.

 
pankaj eklar
Greenhorn
Posts: 10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I am trying to execute following steps in my server side code:

1. I receive a request from GUI requesting for details of an entity.
2. I need these details from an external system, so I put a message on the queue of an external server asking for the details I need.
3. I registered a listener which waits for the response message on a topic.
4. I also store request, response, session and servlet objects in message listener.
5. Current thread does not send the response back to the client and ends.
6. In the onMessage() method, I verify the response and try to forward the response to the client who had requested for it using request dispatcher I get from the stored request object.

After I forward the response, the GUI never received the response back? Call to forward does not throw any exception. Am I doing something that is not allowed or expected?
 
Bear Bibeault
Author and ninkuma
Marshal
Pie
Posts: 65105
89
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes, you are. Never store references to container objects. They go out of scope as soon as the request completes. You will not be able to handle the operation in the manner that you are doing.

See Ben Souther's example of "Long Running Process" on this page for a better way to deal with it.
 
pankaj eklar
Greenhorn
Posts: 10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It helped. Thanks.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic