protected void firePipeConnectionEvent ( PipeConnectionEvent event ) { for ( IPipeConnectionListener element : listeners ) { try { element . onPipeConnectionEvent ( event ) ; } catch ( Throwable t ) { log . error ( "Exception when handling pipe connection event" , t ) ; } } if ( taskExecutor == null ) { taskExecutor = Executors . newCachedThreadPool ( new CustomizableThreadFactory ( "Pipe-" ) ) ; } // Run all of event's tasks for ( Runnable task : event . getTaskList ( ) ) { try { taskExecutor . execute ( task ) ; } catch ( Throwable t ) { log . warn ( "Exception executing pipe task {}" , t ) ; } } // Clear event's tasks list event . getTaskList ( ) . clear ( ) ; }
Fire any pipe connection event and run all it s tasks