improved documentation for 'send-partial-result-on-expiry'

This commit is contained in:
Oleg Zhurakousky
2011-09-16 10:25:52 -04:00
committed by Mark Fisher
parent f005df8d65
commit 779dc39673
4 changed files with 28 additions and 11 deletions

View File

@@ -397,9 +397,16 @@ then you should simply provide an implementation of the <classname>ReleaseStrate
</callout>
<callout arearefs="aggxml08">
<para>Indicates if partially aggregated messages should be released when their storage time has expired
(see <code>MessageGroupStore.expireMessageGroups(long)</code>).
<para>
Indicates that partially aggregated messages should be sent to the 'output-channel' or 'replyChannel'
once the particular <classname>MessageGroup</classname> had expired (see <code>MessageGroupStore.expireMessageGroups(long)</code>). One of the ways of expiring <classname>MessageGroup</classname>s is by
configuring <classname>MessageGroupStoreReaper</classname>. However since <classname>MessageGroup</classname>s are expired by calling
<code>MessageGroupStore.expireMessageGroup(groupId)</code>, <classname>MessageGroupStoreReaper</classname> is not the only option and can be
accomplished via <classname>ControlBus</classname> or by simply invoking a method on <classname>MessageGroupStore</classname> if you have reference to its instance.
Otherwise by itself this attribute has no behavior. It only serves as an indicator of what to do (drop or send to the output/reply channel) with Messages that are
still in the <classname>MessageGroup</classname> that is about to be expired.
<emphasis>Optional</emphasis>.</para>
<para><emphasis>Default - 'false'</emphasis>.</para>
</callout>
<callout arearefs="aggxml09">

View File

@@ -13,6 +13,10 @@
package org.springframework.integration.aggregator;
import java.util.Collection;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.BeanFactory;
@@ -24,13 +28,13 @@ import org.springframework.integration.channel.NullChannel;
import org.springframework.integration.core.MessageProducer;
import org.springframework.integration.core.MessagingTemplate;
import org.springframework.integration.handler.AbstractMessageHandler;
import org.springframework.integration.store.*;
import org.springframework.integration.store.MessageGroup;
import org.springframework.integration.store.MessageGroupCallback;
import org.springframework.integration.store.MessageGroupStore;
import org.springframework.integration.store.MessageStore;
import org.springframework.integration.store.SimpleMessageStore;
import org.springframework.util.Assert;
import java.util.Collection;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
/**
* Message handler that holds a buffer of correlated messages in a
* {@link MessageStore}. This class takes care of correlated groups of messages

View File

@@ -2511,8 +2511,11 @@ Name of the header whose value will be used to route messages
<xsd:attribute name="send-partial-result-on-expiry" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Tells if partially aggregated messages should be released when their storage time had expired (see
MessageGroupStore.expireMessageGroups(long))
Tells that partially aggregated messages should be sent to the 'output-channel' or 'replyChannel'
once the particular MessageGroup had expired. One of the ways of expiring MessageGroups is by
configuring MessageGroupStoreReaper. However since MessageGroups are expired by calling
MessageGroupStore.expireMessageGroup(groupId), MessageGroupStoreReaper is not the only option and can be
accomplished via ControlBus or by simply invoking a method on MessageGroupStore if you have reference to its instance.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

View File

@@ -2499,8 +2499,11 @@ Name of the header whose value will be used to route messages
<xsd:attribute name="send-partial-result-on-expiry" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Tells if partially aggregated messages should be released when their storage time had expired (see
MessageGroupStore.expireMessageGroups(long))
Tells that partially aggregated messages should be sent to the 'output-channel' or 'replyChannel'
once the particular MessageGroup had expired. One of the ways of expiring MessageGroups is by
configuring MessageGroupStoreReaper. However since MessageGroups are expired by calling
MessageGroupStore.expireMessageGroup(groupId), MessageGroupStoreReaper is not the only option and can be
accomplished via ControlBus or by simply invoking a method on MessageGroupStore if you have reference to its instance.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>