public void createObjectPool ( final ProfileTableImpl profileTable , final SleeTransactionManager sleeTransactionManager ) { if ( logger . isTraceEnabled ( ) ) { logger . trace ( "Creating Pool for " + profileTable ) ; } createObjectPool ( profileTable ) ; if ( sleeTransactionManager != null ) { // add a rollback action to remove sbb object pool TransactionalAction action = new TransactionalAction ( ) { public void execute ( ) { if ( logger . isDebugEnabled ( ) ) { logger . debug ( "Due to tx rollback, removing pool for " + profileTable ) ; } try { removeObjectPool ( profileTable ) ; } catch ( Throwable e ) { logger . error ( "Failed to remove table's " + profileTable + " object pool" , e ) ; } } } ; sleeTransactionManager . getTransactionContext ( ) . getAfterRollbackActions ( ) . add ( action ) ; } }
Creates an object pool for the specified profile table . If a transaction manager is used then and if the tx rollbacks the pool will be removed .