It's available using the transaction synchronization feature in 2.2...
http://blog.springsource.org/2012/09...nchronization/
together with a PseudoTransactionManager.
2.2. should be released soon; it is currently at RC2.
For 2.1, you would need to copy the File to a header using a header-enricher; then, at the end of the flow make the last channel a publish-subscribe-channel and add a second subscriber to the channel. Set the current subscriber order="1", then create a second subscriber...
Code:
<int:service-activator order="2" input-channel="lastChannel"
expression="headers['savedFile'].renameTo('/completed/' + headers['savedFile'].name" />
Gary P. Russell
Spring Integration Team
SpringSource, a division of VMware