public synchronized void updateTargetCellule ( SIBUuid8 targetMEUuid ) throws SIResourceException { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . entry ( tc , "updateTargetCellule" , targetMEUuid ) ; if ( pointTopoint ) { this . targetMEUuid = targetMEUuid ; StreamSet streamSet = getStreamSet ( ) ; // We may not have had any messages yet in which case there // is no streamSet to update if ( streamSet != null ) { //Update the cellule in the StreamSet //and persist this streamSet . updateCellule ( targetMEUuid ) ; Transaction tran = txManager . createAutoCommitTransaction ( ) ; try { streamSet . requestUpdate ( tran ) ; } catch ( MessageStoreException e ) { // MessageStoreException shouldn't occur so FFDC. FFDCFilter . processException ( e , "com.ibm.ws.sib.processor.gd.SourceStreamManager.updateTargetCellule" , "1:1384:1.102" , this ) ; SibTr . exception ( tc , e ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "updateTargetCellule" , e ) ; throw new SIResourceException ( e ) ; } //iterate over the non-null streams Iterator itr = streamSet . iterator ( ) ; while ( itr . hasNext ( ) ) { SourceStream stream = ( SourceStream ) itr . next ( ) ; stream . noGuessesInStream ( ) ; } } } if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "updateTargetCellule" ) ; }
This method should only be called when the PtoPOutputHandler was created with an unknown targetCellule and WLM has now told us correct targetCellule . This can only happen when the SourceStreamManager is owned by a PtoPOutputHandler within a LinkHandler