SpringSource/spring-integration — pull request #524 by garyrussell (2012-06-26 18:24:45+00:00)
Title: INT-2636 Gateway Timeout Changes

Previously, the timeouts in @Gateway method annotations always
overrode the default timeout if specified in, say, XML.

Now, the @Gateway timeouts are applied only if

* The equivalent default was not set
* The annotation value is something other than the default (-1)

Note: This is a breaking change for one scenario:

where the interface has a method annotated with @Gateway(replyTimeout=-1)

In other words, when the user wants a default timeout on the gateway
but wants to override it for just the annotated method.

The @Gateway annotation does not allow us to detect whether its
attribute value came from the default or was explicitly set.

The work-around for this breaking change is to use a different negative
number to configure an infinite timeout:

@Gateway(replyTimeout=-2)

Updated migration guide on Wiki