public static void main()

in mqtt-client/src/main/java/com/aws/sample/amazonmq/MQTTClient.java [35:77]


    public static void main(String[] args) throws Exception {
        CommandLine cmd = parseAndValidateCommandLineArguments(args);
        final WrapInt count = new WrapInt();
        final long ds = System.currentTimeMillis();

        final int interval = Integer.parseInt(cmd.getOptionValue("interval", "1000"));
        String name = cmd.getOptionValue("name", UUID.randomUUID().toString());
        registerShutdownHook(count, ds, interval);

        String[] url = cmd.getOptionValue("url").split("://");
        MqttClient client = null;
        try {
            String user = null;
            String password = null;
            String secrets = null;            
            if (cmd.hasOption("user") && cmd.hasOption("password")) {
                user = cmd.getOptionValue("user");
                password = cmd.getOptionValue("password");                
            } else {
                secrets = getUserPassword("MQBrokerUserPassword");
                if (secrets!=null && !secrets.isEmpty()) {
                    user = secrets.split(",")[0];
                    password = secrets.split(",")[1];
                }
            }            
            MqttConnectOptions options = new MqttConnectOptions();
            options.setCleanSession(false);
            options.setAutomaticReconnect(true);
            options.setUserName(user);
            options.setPassword(password.toCharArray());
            client = new MqttClient("ssl://" + url[1], name, new MemoryPersistence());

            String mqttTopic = cmd.getOptionValue("destination");
            if (cmd.getOptionValue("mode").contentEquals("sender")) {
                sendMessages(client, options, mqttTopic, name, interval, count);
            } else {
                receiveMessages(client, options, mqttTopic);
            }
        } catch (Exception ex) {
            System.out.println(String.format("Error: %s", ex.getMessage()));
            System.exit(1);
        }
    }