Package com.mulesoft.demo.mule

Source Code of com.mulesoft.demo.mule.AbstractDemo

package com.mulesoft.demo.mule;

import java.util.Scanner;

import org.mule.api.MuleContext;
import org.mule.api.MuleException;
import org.mule.module.client.MuleClient;

public abstract class AbstractDemo
{
    protected void run() throws Exception
    {
        final MuleContext muleContext = bootstrapMule();
        runDemo();
        waitForEnter();
        terminateMule(muleContext);
    }

    protected abstract void runDemo() throws Exception;

    private static void waitForEnter()
    {
        System.out.println("Hit ENTER to stop...\n");
        new Scanner(System.in).nextLine();
    }

    private MuleContext bootstrapMule() throws MuleException
    {
        System.out.printf("Bootstrapping Mule with config: %s ...", getConfigurationFile());
        final MuleClient muleClient = new MuleClient(getConfigurationFile());
        final MuleContext muleContext = muleClient.getMuleContext();
        muleContext.start();
        System.out.println(" Done!\n");
        return muleContext;
    }

    protected abstract String getConfigurationFile();

    private void terminateMule(final MuleContext muleContext)
    {
        System.out.print("Terminating Mule...");
        muleContext.dispose();
        System.out.println(" Bye!");
        System.exit(0);
    }
}
TOP

Related Classes of com.mulesoft.demo.mule.AbstractDemo

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.