public void close ( ) throws SIResourceException , SIConnectionLostException , SIErrorException , SIConnectionDroppedException { if ( tc . isEntryEnabled ( ) ) SibTr . entry ( this , tc , "close" ) ; synchronized ( lock ) { if ( ! isClosed ( ) ) { try { closeLock . writeLock ( ) . lockInterruptibly ( ) ; try { // Close the proxy queue proxyQueue . close ( ) ; // Mark this session as closed. setClosed ( ) ; } finally { closeLock . writeLock ( ) . unlock ( ) ; } } catch ( InterruptedException e ) { // No FFDC code needed if ( tc . isDebugEnabled ( ) ) SibTr . debug ( this , tc , "interrupted exception" ) ; } } } if ( tc . isEntryEnabled ( ) ) SibTr . exit ( this , tc , "close" ) ; }
Closes the browser session . This involves some synchronization flowing a close request and also marking the appropriate objects as closed .