On 8/28/07, Hiram Chirino <[EMAIL PROTECTED]> wrote: > Got those test failures fixed now.. Here is a better version of the patch.
Great stuff! I've been thinking we need a way to register onComplete / onFail hooks. (Rather like TransactionSynchronization in Spring)... http://static.springframework.org/spring/docs/2.0.x/api/org/springframework/transaction/support/TransactionSynchronization.html So allowing something like exchange.getTransaction().addSynchronization(new Synchronization() { pubic void onCommit() { // remove the file... } public void onRollback() { /// } } https://issues.apache.org/activemq/browse/CAMEL-123 If we had some kinda Transaction object, which was propogated across any copied exchanges (e.g. a new exchange for each async operation or when using multicast etc), then we'd have a place we could register these kinds of onCommit/onRollback handlers. Then each component in the pipeline - whether file or ftp or whatever, could add their own onCommit/onRollback handlers etc. If we had this single Transaction object which is properly propogated, maybe that could also take over some of the work doing the tracking of the number of async steps per transaction as well as being the AsyncCallback - to contain the count down latch and so forth. So moving some of the code from Pipeline into this single place, this Transaction object - which hopefully could make it a bit easier to handle async processors in some of the other processors with minimal code etc. Am just wondering if we can minimise the amount of work required in the pipeline/processor code to support async handling. James ------- http://macstrac.blogspot.com/
