in stomp-client/src/main/java/com/aws/sample/amazonmq/StompClient.java [36: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);
StompConnection connection = new StompConnection();
String[] url = cmd.getOptionValue("url").split("://");
String[] hostAndPort = url[1].split(":");
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];
}
}
SocketFactory factory = SSLSocketFactory.getDefault();
Socket socket = factory.createSocket(hostAndPort[0], Integer.parseInt(hostAndPort[1]));
connection.open(socket);
connection.connect(user, password, name);
System.out.println(String.format("Successfully connected to %s", cmd.getOptionValue("url")));
if (cmd.getOptionValue("mode").contentEquals("sender")) {
sendMessages(connection, cmd.getOptionValue("type"), cmd.getOptionValue("destination"), name, interval, count);
} else {
receiveMessages(connection, cmd.getOptionValue("type"), cmd.getOptionValue("destination"));
}
} catch (javax.jms.JMSSecurityException ex) {
System.out.println(String.format("Error: %s", ex.getMessage()));
System.exit(1);
}
}