public void close ( ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . entry ( tc , "close" ) ; Enumeration streams = null ; synchronized ( this ) { synchronized ( streamTable ) { closed = true ; closeBrowserSessionsInternal ( ) ; streams = streamTable . elements ( ) ; } } // since already set closed to true, no more AOStreams will be created and added to the streamTable, // even if there is an // asynchronous stream creation in progress (the itemStream will be created, but no AOStream will // be added to the streamTable). while ( streams . hasMoreElements ( ) ) { StreamInfo sinfo = ( StreamInfo ) streams . nextElement ( ) ; if ( sinfo . stream != null ) { sinfo . stream . close ( ) ; } } synchronized ( streamTable ) { streamTable . clear ( ) ; } if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "close" ) ; }
Cleans up the non - persistent state . No methods on the ControlHandler interface should be called after this is called .