From ab9b1b14f637d062620cba86e72bb5dde68ac3ee Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Fri, 15 Oct 2010 06:35:52 -0400 Subject: [PATCH] INT-1474, polished documentation about ensuring timely responses from the Gateway method invocations --- src/docbkx/gateway.xml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/docbkx/gateway.xml b/src/docbkx/gateway.xml index 382fb2416c..bae14f5092 100644 --- a/src/docbkx/gateway.xml +++ b/src/docbkx/gateway.xml @@ -236,11 +236,18 @@ For a more detailed example, please refer to the async-gatewayreply-timout is unbounded which means that if not explicitly set there are several scenarios (described above) where your Gateway method invocation might hang indefinitely, so make sure you analyze your flow and if there is even a remote possibility of one of these - scenarios to occur in your flow, set the reply-timout to a 'safe' value at least for the sake - of bringing method invocation to a close. But also, realize that there are some scenarios (see the very first one) + scenarios to occur, set the reply-timout attribute to a 'safe' value or better off + set the requires-reply attribute of the downstream component to 'true' to ensure a timely response. + But also, realize that there are some scenarios (see the very first one) where reply-timout will not help which means it is also important to analyze your message flow and decide when to use Sync Gateway vs Async Gateway where Gateway method invocation is always guaranteed to return while giving you a more granular control over the results of the invocation via Java Futures. + + Also, when dealing with Router you should remember that seeting resolution-required attribute to 'true' + will result in the exception thrown by the router if it can not resolve a particular chanel. And when dealing with the filter + you can also set throw-exception-on-rejection attribute. Both of these will help to ensure a timely response + from the Gateway method invocation. +