I have a simple question regarding JMS.
I have a system where in I send a request to the server and will get a response maybe 2-3 days later.
The request is like METH_REQ with parameters A,B and C.
The response is like METH_RES with parameters D,E and F.
When I get the response I need the values of the request(A,B and C) also for reference. How can I go about this?
So you have a client posting to the jms server and a MessageListener listening for messages (maybe from the same or different topic or queue)?
Are these parameters of type String - Use TextMessage
Any other java type - Use ObjectMessage
Joined: Oct 04, 2001
Listening to different queue.
As for the java types, the datatypes could be interger, character etc.
How you know that it will response to you earlier message ?
Do you have some attribute say like request ID ..
if not then you can put this attribute .
You can put all three attributes response message
Joined: Oct 04, 2001
1. I cannot use a database.
2. You saying put all three attributes in the response, means the response method will need to be altered, right ?
Joined: Jun 22, 2009
Hi Deepak ,
What format of message you are using ?
What i mean say was that if you are using Xml format then you can add three tags in your response xml.
while creating response xml just put values of three tags from request xml.
So you don't have to worry about variables.
Guys, let's back off a bit and be a bit more clear about the terminology being used so that we understand exactly what the other is talking about.
There is no request/response paradigm in jms. There is no parameter either.
There is a 'jms server' which can accept messages and send them out to anyone who has registered an interest in listening to the message.
The app who puts the message is called the 'sender'.
The app who receives the messsage is called 'receiver'.
Information is contained in the message as a payload or in the header. The payload can be text, xml, Object and so on.
Headers are String properties (name -value pairs)
The messages can be Queue (Point to Point) or a Topic (One Sender, many receivers)
Finally the listener can be an ordinary java class or a MDB.
Now if we all accept that, will you please reframe the question?