All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.zeebe.broker.StandaloneBroker Maven / Gradle / Ivy

/*
 * Zeebe Broker Core
 * Copyright © 2017 camunda services GmbH ([email protected])
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see .
 */
package io.zeebe.broker;

import static java.lang.Runtime.getRuntime;

import java.util.Scanner;

public class StandaloneBroker
{

    public static void main(String[] args)
    {
        String configFile = null;
        if (args.length == 1)
        {
            configFile = args[0];
        }

        final Broker broker = new Broker(configFile);

        getRuntime().addShutdownHook(new Thread("Broker close Thread")
        {
            @Override
            public void run()
            {
                broker.close();
            }
        });

        try (Scanner scanner = new Scanner(System.in))
        {
            while (scanner.hasNextLine())
            {
                final String nextLine = scanner.nextLine();
                if (nextLine.contains("exit")
                    || nextLine.contains("close")
                    || nextLine.contains("quit")
                    || nextLine.contains("halt")
                    || nextLine.contains("shutdown")
                    || nextLine.contains("stop"))
                {
                    System.exit(0);
                }
            }
        }

    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy