private void internalCleanup ( ) { if ( hasBroker ( ) ) { PersistenceBroker broker = getBroker ( ) ; if ( log . isDebugEnabled ( ) ) { log . debug ( "Do internal cleanup and close the internal used connection without" + " closing the used broker" ) ; } ConnectionManagerIF cm = broker . serviceConnectionManager ( ) ; if ( cm . isInLocalTransaction ( ) ) { /* arminw: in managed environment this call will be ignored because, the JTA transaction manager control the connection status. But to make connectionManager happy we have to complete the "local tx" of the connectionManager before release the connection */ cm . localCommit ( ) ; } cm . releaseConnection ( ) ; } }
In managed environment do internal close the used connection