Win a copy of Kotlin for Android App Development this week in the Kotlin forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Devaka Cooray
  • Jeanne Boyarsky
  • Bear Bibeault
Sheriffs:
  • Junilu Lacar
  • Paul Clapham
  • Knute Snortum
Saloon Keepers:
  • Ron McLeod
  • Tim Moores
  • Stephan van Hulst
  • salvin francis
  • Carey Brown
Bartenders:
  • Tim Holloway
  • Frits Walraven
  • Ganesh Patekar

RequestDispatcher's forward method does not work.  RSS feed

 
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?
 
Marshal
Posts: 67226
169
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.
 
All of the world's problems can be solved in a garden - Geoff Lawton. Tiny ad:
RavenDB is an Open Source NoSQL Database that’s fully transactional (ACID) across your database
https://coderanch.com/t/704633/RavenDB-Open-Source-NoSQL-Database
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!