public static void main()

in amqp-client/src/main/java/com/aws/sample/amazonmq/AMQPClient.java [40:92]


    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());
        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];
                }
            }
            JmsConnectionFactory connFact = new JmsConnectionFactory(user, password, cmd.getOptionValue("url"));
            JmsConnection conn = (JmsConnection) connFact.createConnection();
            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("type") + "://" + cmd.getOptionValue("destination")));
                    sendMessages(session, queueMessageProducer, name, interval, deliveryMode, count);
                } else {
                    MessageProducer topicMessageProducer = session.createProducer(session.createTopic(cmd.getOptionValue("type") + "://" + cmd.getOptionValue("destination")));
                    sendMessages(session, topicMessageProducer, 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);
        }
    }