in amazon-mq-client/src/main/java/com/aws/sample/amazonmq/AmazonMqClient.java [40:94]
public static void main(String[] args) throws JMSException, ParseException {
CommandLine cmd = parseAndValidateCommandLineArguments(args);
final WrapInt count = new WrapInt();
final long ds = System.currentTimeMillis();
ActiveMQSslConnectionFactory connFact = new ActiveMQSslConnectionFactory(cmd.getOptionValue("url"));
connFact.setConnectResponseTimeout(10000);
final int interval = Integer.parseInt(cmd.getOptionValue("interval", "1000"));
final long ttl = Integer.parseInt(cmd.getOptionValue("ttl", "-1"));
String name = cmd.getOptionValue("name", UUID.randomUUID().toString());
int deliveryMode = cmd.hasOption("notPersistent") ? DeliveryMode.NON_PERSISTENT : DeliveryMode.PERSISTENT;
registerShutdownHook(count, ds, interval);
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];
}
}
Connection conn = connFact.createConnection(user, password);
conn.setClientID("AmazonMQWorkshop-" + System.currentTimeMillis());
conn.start();
Session session = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
if (cmd.getOptionValue("mode").contentEquals("sender")) {
if (cmd.getOptionValue("type").contentEquals("queue")) {
MessageProducer queueMessageProducer = session.createProducer(session.createQueue(cmd.getOptionValue("destination")));
sendMessages(session, queueMessageProducer, ttl, name, interval, deliveryMode, count);
} else {
MessageProducer topicMessageProducer = session.createProducer(session.createTopic(cmd.getOptionValue("destination")));
sendMessages(session, topicMessageProducer, ttl, name, interval, deliveryMode, count);
}
} else {
if (cmd.getOptionValue("type").contentEquals("queue")) {
MessageConsumer queueConsumer = session.createConsumer(session.createQueue(cmd.getOptionValue("destination")));
receiveMessages(session, queueConsumer);
} else {
MessageConsumer topicConsumer = session.createConsumer(session.createTopic(cmd.getOptionValue("destination")));
receiveMessages(session, topicConsumer);
}
}
} catch (javax.jms.JMSSecurityException ex) {
System.out.println(String.format("Error: %s", ex.getMessage()));
System.exit(1);
}
}