INT-3313: Fix JMS-outbound requires-reply Logic
JIRA: https://jira.springsource.org/browse/INT-3313 Previously, when `requires-reply="false"` on a `<jms:outbound-gateway/>` a `null` reply caused a `MessageTimeoutException`, instead of quiet ending of flow. Conflicts: spring-integration-jms/src/test/java/org/springframework/integration/jms/JmsOutboundInsideChainTests.java Resolved.
This commit is contained in:
committed by
Gary Russell
parent
1de46a8bdd
commit
ee73515047
@@ -315,7 +315,8 @@
|
||||
request-destination-expression=""]]><co id="jog200" /><![CDATA[
|
||||
request-destination-name=""]]><co id="jog210" /><![CDATA[
|
||||
request-pub-sub-domain=""]]><co id="jog220" /><![CDATA[
|
||||
time-to-live="">]]><co id="jog230" /><![CDATA[
|
||||
time-to-live=""]]><co id="jog230" /><![CDATA[
|
||||
requires-reply="">]]><co id="jog231" /><![CDATA[
|
||||
<int-jms:reply-listener />]]><co id="jog240" /><![CDATA[
|
||||
</int-jms:outbound-gateway>]]></programlisting>
|
||||
<calloutlist>
|
||||
@@ -497,6 +498,18 @@
|
||||
This setting will only take effect if <code>explicit-qos-enabled</code> is <code>true</code>.
|
||||
</para>
|
||||
</callout>
|
||||
<callout arearefs="jog231">
|
||||
<para>
|
||||
Specify whether this outbound gateway must return a non-null value. This value is
|
||||
<code>true</code> by default, and a <classname>MessageTimeoutException</classname> will be thrown when
|
||||
the underlying service does not return a value after the <code>receive-timeout</code>.
|
||||
Note, it is important to keep in mind that, if the service is never expected
|
||||
to return a reply, it would be better to use a <code><int-jms:outbound-channel-adapter/></code>
|
||||
instead of a <code><int-jms:outbound-gateway/></code> with <code>requires-reply="false"</code>.
|
||||
With the latter, the sending thread is blocked, waiting for a reply for the <code>receive-timeout</code>
|
||||
period.
|
||||
</para>
|
||||
</callout>
|
||||
<callout arearefs="jog240">
|
||||
<para>
|
||||
When this element is included, replies are received by a <interfacename>MessageListenerContainer
|
||||
|
||||
Reference in New Issue
Block a user