public void removeBean ( BeanO beanO ) throws CSITransactionRolledbackException { final boolean isTraceOn = TraceComponent . isAnyTracingEnabled ( ) ; // d532639.2 if ( isTraceOn && tc . isEntryEnabled ( ) ) Tr . entry ( tc , "removeBean with BeanO" ) ; //------------------------------------------------------------------------ // If bean id is null then beanO could not have been added to this // container. Also, if beanO is not enlisted in the tran, then it either // was never added to this container, or it was added, but already // removed. This may occur for example in the case of a // DuplicateKeyException. dPQ51806 d145697 //------------------------------------------------------------------------ BeanId id = beanO . getId ( ) ; if ( id != null ) { try { // If this particular BeanO was enlisted, then it needs to be // removed from the tran and the ejb cache. d145697 ContainerTx currentTx = getCurrentTx ( false ) ; //d171654 // d139352-2 if ( currentTx . delist ( beanO ) ) { activator . removeBean ( currentTx , beanO ) ; } else { // This is normal, it just means the failure occurred early in // the create proccess, before the bean was ever enlisted or // added to the EJB Cache. d145697 if ( isTraceOn && tc . isDebugEnabled ( ) ) Tr . debug ( tc , "BeanO not enlisted - not removed from tx or cache" ) ; } } catch ( Throwable th ) { // The transaction may have already rolled back. d145697 FFDCFilter . processException ( th , CLASS_NAME + ".removeBean(BeanO)" , "1949" , this ) ; if ( isTraceOn && tc . isEventEnabled ( ) ) Tr . event ( tc , "Exception thrown in removeBean()" , new Object [ ] { beanO , th } ) ; } } else { // This is normal, it just means the failure occurred early in // the create proccess, before the bean was ever enlisted or // added to the EJB Cache. d145697 if ( isTraceOn && tc . isDebugEnabled ( ) ) Tr . debug ( tc , "BeanId is null" ) ; } if ( isTraceOn && tc . isEntryEnabled ( ) ) Tr . exit ( tc , "removeBean" ) ; }
Remove bean from container in current transaction context . Used to clean up from create failures . It is not an error if the bean does not exist in this container .