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);
}
}