I searched a lot for this and couldnt find any help. here is the problem I am facing. I am using Spring Integration Inbound and outbound gateways for synchronous request response experience. I see everything work great but not 100% of the times. The inbound gateway on server side (when in debug mode) seem to be sending the message on the channel that should land up finally in the outbound queue to the client. I can see pre-send and post-send debug logs of spring integration. The problem is the client still times out. No its not the JMSCorrelationID. Its populated fine and client does get responses most of the times. So I got a Tibco trace log. According to that what I see is that -
- the client does create a producer on Q1.
- client puts a message on Q1
- server does pick it up and acknowledge
- client creates a consumer with correlation id as selector on Q2
[In successful cases]
- server creates a producer on Q2
- server produces a message on Q2
- client picks up the message from Q2
- client acks the message on Q2.
[only in success cases above 4 steps]
- in 10 seconds (client side gateway outbound timeout) times out..
- producer and consumer on both queues disconnect.
We dont see the 4 successful steps above in failure cases.
This tells me that the inbound gateway on server side is missing some property on JMS connections settings making it lazy connect or delayed connect etc. But not able to pinpoint.
I am just putting the symptoms of my problems here.