Skip to content

Spring Integration 2.2 to 3.0 Migration Guide

artembilan edited this page Feb 12, 2013 · 26 revisions

##MessageGroupCallback

This interface is now an inner interface of MessageGroupStore; everything remains the same, just change the import.

##integrationConversionService

Spring Integration no longer does fall back to the BeanFactory's ConversionService, however there is still falling back to the creation of DefaultConversionService where it is appropriate, if there is no registered integrationConversionService bean. If there is really a reason to use conversionService as integrationConversionService, it's just enough to add one more line to the Application Context:

<alias name="conversionService" alias="integrationConversionService"/>

##Aggregator & Resequencer

<aggregator> no longer iterates over message groups in the AggregatingMessageHandler#setExpireGroupsUponCompletion to remove complete groups. Еhis could lead to an overload on application start up with big persistent MessageStore. The similar logic is present on the AbstractCorrelatingMessageHandler#forceComplete, when expiring of message groups removes empty groups too. An empty group is comlete too, as for <aggregator>, and for <resequencer>: on each 'release' the group is marked as 'comlete' and relased messages is removed from the group.

For removing empty groups purpose there is need to configure MessageGroupStoreReaper for MessageStore of <aggregator> or <resequencer>.

In additional to achieve better robustness and flexibility was introduced empty-group-min-timeout attribute for <aggregator> and <resequencer>. If you wish to run empty group deletion on a longer schedule than expiring partial groups, set this property. Empty groups will then not be removed from the MessageStore until they have not been modified for at least this number of milliseconds.

Clone this wiki locally