cancel
Showing results for 
Search instead for 
Did you mean: 

Sync Proxy to JMS (MQSeries)

Shabarish_Nair
Active Contributor
0 Kudos

Hi All,

I have a scenario of Sync proxy to MQSeries.

Now suppose my MQ Series takes a long time to respond with the reply, then how do i handle such a situation as i dont want my proxy to be waiting for the reply (say for more than 2 min).

I dont want it to timeout but instead i need a reply sent back to my proxy informing MQ series took more time to respond back.

Suggestion wud be appreciated !!!!

ShaBZ~~~

Accepted Solutions (1)

Accepted Solutions (1)

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

use sync bridge

<b>receive step</b> - sync receive

<b>send step</b> - sync to jms

wrap it in a timeout branch (in block) and in the exception

branch of this you can create a mapping

with text "it took more time then expected"

after the timeout time the message will

go to the exception branch and

map the outbput message with the text

<b>send step</b> to close the sync brigde

one way to do it:)

Regards,

michal

MichalKrawczyk
Active Contributor
0 Kudos

hmmm

maybe if it's possible with MQ...

you can ask MQ admin to return the error message

if the request does not come back in specified time

then you could do it without BPM

just map the error response back to the sync call

Regards,

michal

Shabarish_Nair
Active Contributor
0 Kudos

Well, i guess i need to talk to the MQ guys .... there has to be someway outta this aint it

and abt the bridge option

the BPM is supposed to have,

Receive1 (sync/open bridge) - Send1 (async to JMS) - Receive2 (async from JMS) - Send2 (back to proxy - close bridge)

Now do i actually wrap the Send1 in timeout or the receive2 ??? cos its the reply from JMS i am worried abt.

bhavesh_kantilal
Active Contributor
0 Kudos

Shabz,

Does JMS adapter support Synchronous Processing? I dont think it does.. as i just looked up at the QO it supports and found that it supports only EO and EOIO.

Regards,

Bhavesh

MichalKrawczyk
Active Contributor
0 Kudos

hi,

>>>>Send1 (async to JMS) - Receive2 (async from JMS)

put them in one block and with timeout branch

Regards,

michal

bhavesh_kantilal
Active Contributor
0 Kudos

Michal / Shabz,

Note : 838894,

Question 2.3

<i>Question: Which XI quality of services (QoS for short) are supported?

Answer: XI recognizes the QoS Best Effort (BE, synchronous), Exactly Once (EO, asynchronous) and Exactly Once In Order (EOIO, asynchronous). The JMS Adapter supports EO and EOIO, since JMS is itself an asynchronous message service.</i>

I guess we cannot use a SEND synchronous Step and need a Send Step -- to send the Request Message to the JMS

Reciver Step -- to receive the Response with a correlation . Correct me if i am wrong.

Also , check note : 838894

Regards,

Bhavesh

bhavesh_kantilal
Active Contributor
0 Kudos

ooops..

Sory guys..!!

<i>the BPM is supposed to have,

Receive1 (sync/open bridge) - Send1 (async to JMS) - Receive2 (async from JMS) - Send2 (back to proxy - close bridge)</i>

Failed to see this..!! Sorry for the confusio.

Regards,

Bhavesh

MichalKrawczyk
Active Contributor
0 Kudos

hi,

doesn't matter

if you have send step and receive step

in one block and you define a timeout branch

for the block it will work won't it ?

Regards,

michal

Shabarish_Nair
Active Contributor
0 Kudos

Bhavesh,

yep JMS doesn not support SYNC processing , hence the SYNC/ASYNC Bridge in the scenario ...

My SRM team says they wudnt be willing to wait till the time MQ responds back. So i need to sent a message back to the proxy stating tht the response is taking long tht expected (they are concerend abt the performance here)

Mike lemme contact the MQ guys and see how they wud love to c the situation being handled !!!

Answers (0)