void announceMPStarted(int startMode)
    {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.entry(tc, "announceMPStarted");

        DestinationTypeFilter destFilter = new DestinationTypeFilter();
        SIMPIterator itr = destinationIndex.iterator(destFilter);
        while (itr.hasNext())
        {
            DestinationHandler dh = (DestinationHandler) itr.next();
            dh.announceMPStarted();
        }
        itr.finished();

        LinkTypeFilter linkFilter = new LinkTypeFilter();
        linkFilter.LOCAL = Boolean.TRUE;
        itr = linkIndex.iterator(linkFilter);
        while (itr.hasNext())
        {
            DestinationHandler dh = (DestinationHandler) itr.next();
            dh.announceMPStarted();
        }
        itr.finished();

        itr = foreignBusIndex.iterator();
        while (itr.hasNext())
        {
            DestinationHandler dh = (DestinationHandler) itr.next();
            dh.announceMPStarted();
        }
        itr.finished();

        // Iterate over the MQLinks, calling the MQLink component to
        // alert it that MP has started
        LinkTypeFilter mqLinkFilter = new LinkTypeFilter();
        mqLinkFilter.MQLINK = Boolean.TRUE;
        itr = linkIndex.iterator(mqLinkFilter);
        while (itr.hasNext())
        {
            MQLinkHandler mqLinkHandler = (MQLinkHandler) itr.next();
            try
            {
                mqLinkHandler.
                                announceMPStarted(startMode,
                                                  messageProcessor.getMessagingEngine());
            } catch (SIResourceException e)
            {
                // No FFDC code needed

                SibTr.exception(tc, e);

                // The MQLink component will have FFDC'd we'll trace
                // the problem but allow processing to continue
            } catch (SIException e)
            {
                // No FFDC code needed

                SibTr.exception(tc, e);

                // The MQLink component will have FFDC'd we'll trace
                // the problem but allow processing to continue
            }
        }
        itr.finished();

        //Allow the async deletion thread to start up now if it wants.
        setIsAsyncDeletionThreadStartable(true);

        // Explicitly start the async deletion thread if there is anything to do.
        startAsynchDeletion();

        //start DeletePubSubMsgsThread.
        startDeletePubSubMsgsThread();

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.exit(tc, "announceMPStarted");
    }
void announceMPStarted ( int startMode ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . entry ( tc , "announceMPStarted" ) ; DestinationTypeFilter destFilter = new DestinationTypeFilter ( ) ; SIMPIterator itr = destinationIndex . iterator ( destFilter ) ; while ( itr . hasNext ( ) ) { DestinationHandler dh = ( DestinationHandler ) itr . next ( ) ; dh . announceMPStarted ( ) ; } itr . finished ( ) ; LinkTypeFilter linkFilter = new LinkTypeFilter ( ) ; linkFilter . LOCAL = Boolean . TRUE ; itr = linkIndex . iterator ( linkFilter ) ; while ( itr . hasNext ( ) ) { DestinationHandler dh = ( DestinationHandler ) itr . next ( ) ; dh . announceMPStarted ( ) ; } itr . finished ( ) ; itr = foreignBusIndex . iterator ( ) ; while ( itr . hasNext ( ) ) { DestinationHandler dh = ( DestinationHandler ) itr . next ( ) ; dh . announceMPStarted ( ) ; } itr . finished ( ) ; LinkTypeFilter mqLinkFilter = new LinkTypeFilter ( ) ; mqLinkFilter . MQLINK = Boolean . TRUE ; itr = linkIndex . iterator ( mqLinkFilter ) ; while ( itr . hasNext ( ) ) { MQLinkHandler mqLinkHandler = ( MQLinkHandler ) itr . next ( ) ; try { mqLinkHandler . announceMPStarted ( startMode , messageProcessor . getMessagingEngine ( ) ) ; } catch ( SIResourceException e ) { SibTr . exception ( tc , e ) ; } catch ( SIException e ) { SibTr . exception ( tc , e ) ; } } itr . finished ( ) ; setIsAsyncDeletionThreadStartable ( true ) ; startAsynchDeletion ( ) ; startDeletePubSubMsgsThread ( ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "announceMPStarted" ) ; }
Find the mediated destinations and tell them that the MP is now ready
for mediations to start work. In addition alert the MQLink component
that MP has started and set the flag to allow asynch deletion.

Feature 176658.3.8