[ http://issues.apache.org/jira/browse/TRANSACTION-12?page=comments#action_12432331 ] 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: 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]