Use NIO for file copying/moving
-------------------------------

                 Key: TRANSACTION-12
                 URL: http://issues.apache.org/jira/browse/TRANSACTION-12
             Project: Commons Transaction
          Issue Type: Wish
    Affects Versions: 1.2
            Reporter: Holger Hoffstätte
         Attachments: moveByRenameAndNIO.txt

The Mule project (http://mule.codehaus.org/) 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: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to