commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Holger Hoffstätte (JIRA) <>
Subject [jira] Created: (TRANSACTION-12) Use NIO for file copying/moving
Date Sat, 02 Sep 2006 16:09:29 GMT
Use NIO for file copying/moving

                 Key: TRANSACTION-12
             Project: Commons Transaction
          Issue Type: Wish
    Affects Versions: 1.2
            Reporter: Holger Hoffstätte
         Attachments: moveByRenameAndNIO.txt

The Mule project ( is considering adoption of commons-transaction
for (among other things) file transactions. Unfortunately inspection of the code reveals that
FileHelper copies files in the slowest possible way (traditional Java I/O via Input/OutputStreams).
Since some of our users move lots and/or large files (hundreds of megabytes to gigabytes)
we implemented file moving by rename (atomic and obviously very fast when source and target
are on the same filesystem) and NIO as backup strategy (a lot less CPU usage).
Attached is a code snippet that outlines the procedure; it would be cool if c-tx could adopt
a similar strategy for moving via rename-first and copy via NIO. I do not know if and how
this might conflict with c-tx's "transactional" behaviour and recovery but then again it is
just a suggestion. :-)

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message