commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Holger Hoffstätte (JIRA) <>
Subject [jira] Commented: (TRANSACTION-12) Use NIO for file copying/moving
Date Sun, 03 Sep 2006 11:06:23 GMT
    [ ] 
Holger Hoffstätte commented on TRANSACTION-12:

Thanks for feedback - I didn't realize you were shooting for compatibility with JDK 1.3 (bummer
;) or that you already did rename-first (good to know). It's not a dealbreaker since adoption
of c-tx is still some way off; when the time has come we may think about providing something
like a pluggable FileHelper as extension/patch.

> Use NIO for file copying/moving
> -------------------------------
>                 Key: TRANSACTION-12
>                 URL:
>             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