private Conversation startNewConversation ( ConnectionData connectionDataToUse , ConversationReceiveListener conversationReceiveListener , boolean isNewConnectionData , boolean handshake ) throws SIResourceException { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . entry ( this , tc , "startNewConversation" , new Object [ ] { connectionDataToUse , conversationReceiveListener , Boolean . valueOf ( isNewConnectionData ) , Boolean . valueOf ( handshake ) } ) ; Conversation retConversation ; synchronized ( this ) { if ( isNewConnectionData ) { synchronized ( connectionData ) { connectionData . add ( connectionDataToUse ) ; } } // Start a new conversation over the designated connection. // If this is a connection on behalf of the WMQRA then we need to disable the normal handshaking behaviour // in order to allow other non WMQRA conversations to handshake as normal. retConversation = connectionDataToUse . getConnection ( ) . startNewConversation ( conversationReceiveListener , handshake ) ; } if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( this , tc , "startNewConversation" , retConversation ) ; return retConversation ; }
start a new conversation using the specified ConnectionData object