So verhindern Sie, dass ein Mule-Flow nach dem Start ausgeführt wird

Ich habe einen Mule-Flow, der mit einem eingehenden jms-Endpunkt beginnt. Meine Anforderung besteht darin, zu verhindern, dass die Warteschlange Nachrichten liest, bis ich den Connector für den Endpunkt explizit aktiviere. Ich habe also einen Initialisierer, der MuleContextNotificationListener implementiert und onNotification wie folgt überschreibt:

@Override
public void onNotification(MuleContextNotification ctxNotification) {

    System.out.println("Notification order event: " + ctxNotification.getActionName() );


    if(ctxNotification.getAction() == MuleContextNotification.CONTEXT_STARTING
            || ctxNotification.getAction() == MuleContextNotification.CONTEXT_STARTED){
        try{
            //Startup with the Staging and Error Q readers disabled.
            System.out.println("STOPPING QUEUES : Staging and Error Queues");
            //ctxNotification.getMuleContext().getRegistry().lookupConnector("lynxJMSConnectorStagingQReaderNormal").stop();
            ctxNotification.getMuleContext().getRegistry().lookupConnector("lynxJMSConnectorStagingQReaderDR").stop();
            ctxNotification.getMuleContext().getRegistry().lookupConnector("lynxJMSConnectorErrorQReader").stop();
            ctxNotification.getMuleContext().getRegistry().lookupEndpointFactory().getInboundEndpoint("errorQueueReader").stop();

            System.out.println("STOPPED QUEUES");

        }catch(MuleException me){
            me.printStackTrace();
        }
    }

}

Aber der Fluss beginnt immer noch (liest Nachrichten aus der JMS-Warteschlange), auch wenn die Anwendung initialisiert wird. Was kann ich tun, um einen Konnektor abzufangen, wenn er initialisiert wird, damit ich ihn stoppen kann? Wenn nicht, welchen Mechanismus soll ich verwenden, um den Connector daran zu hindern, ihn zu lesen? Ich habe bereits den Code zum Starten / Stoppen des Connectors über einen http-Aufruf.

Ich verwende Mule 3.2.2 ohne Anmerkungen.

Vielen Dank,

Antworten auf die Frage(2)

Ihre Antwort auf die Frage