Example usage for com.rabbitmq.client ConnectionFactory ConnectionFactory

List of usage examples for com.rabbitmq.client ConnectionFactory ConnectionFactory

Introduction

In this page you can find the example usage for com.rabbitmq.client ConnectionFactory ConnectionFactory.

Prototype

ConnectionFactory

Source Link

Usage

From source file:io.bootique.rabbitmq.client.connection.AMQPConnectionConfig.java

License:Apache License

@Override
protected ConnectionFactory createConnectionFactory() {
    ConnectionFactory factory = new ConnectionFactory();

    if (username != null)
        factory.setUsername(username);//  w  w  w . j av  a 2  s  . c om
    if (password != null)
        factory.setPassword(password);
    if (virtualHost != null)
        factory.setVirtualHost(virtualHost);
    if (host != null)
        factory.setHost(host);

    factory.setPort(port);

    return factory;
}

From source file:io.bootique.rabbitmq.client.connection.URIConnectionConfig.java

License:Apache License

@Override
protected ConnectionFactory createConnectionFactory() {
    ConnectionFactory factory = new ConnectionFactory();
    try {// w  w  w.j  a v  a2  s . c o m
        factory.setUri(uri);
    } catch (Exception e) {
        throw new RuntimeException("Failed to initialize RabbitMQ URI connection factory", e);
    }
    return factory;
}

From source file:io.druid.examples.rabbitmq.RabbitMQProducerMain.java

License:Apache License

public static void main(String[] args) throws Exception {
    // We use a List to keep track of option insertion order. See below.
    final List<Option> optionList = new ArrayList<Option>();

    optionList.add(OptionBuilder.withLongOpt("help").withDescription("display this help message").create("h"));
    optionList.add(OptionBuilder.withLongOpt("hostname").hasArg()
            .withDescription("the hostname of the AMQP broker [defaults to AMQP library default]").create("b"));
    optionList.add(OptionBuilder.withLongOpt("port").hasArg()
            .withDescription("the port of the AMQP broker [defaults to AMQP library default]").create("n"));
    optionList.add(OptionBuilder.withLongOpt("username").hasArg()
            .withDescription("username to connect to the AMQP broker [defaults to AMQP library default]")
            .create("u"));
    optionList.add(OptionBuilder.withLongOpt("password").hasArg()
            .withDescription("password to connect to the AMQP broker [defaults to AMQP library default]")
            .create("p"));
    optionList.add(OptionBuilder.withLongOpt("vhost").hasArg()
            .withDescription("name of virtual host on the AMQP broker [defaults to AMQP library default]")
            .create("v"));
    optionList.add(OptionBuilder.withLongOpt("exchange").isRequired().hasArg()
            .withDescription("name of the AMQP exchange [required - no default]").create("e"));
    optionList.add(OptionBuilder.withLongOpt("key").hasArg()
            .withDescription("the routing key to use when sending messages [default: 'default.routing.key']")
            .create("k"));
    optionList.add(OptionBuilder.withLongOpt("type").hasArg()
            .withDescription("the type of exchange to create [default: 'topic']").create("t"));
    optionList.add(OptionBuilder.withLongOpt("durable")
            .withDescription("if set, a durable exchange will be declared [default: not set]").create("d"));
    optionList.add(OptionBuilder.withLongOpt("autodelete")
            .withDescription("if set, an auto-delete exchange will be declared [default: not set]")
            .create("a"));
    optionList.add(OptionBuilder.withLongOpt("single")
            .withDescription("if set, only a single message will be sent [default: not set]").create("s"));
    optionList.add(OptionBuilder.withLongOpt("start").hasArg()
            .withDescription("time to use to start sending messages from [default: 2010-01-01T00:00:00]")
            .create());/*from   ww  w . jav a  2s .co  m*/
    optionList.add(OptionBuilder.withLongOpt("stop").hasArg().withDescription(
            "time to use to send messages until (format: '2013-07-18T23:45:59') [default: current time]")
            .create());
    optionList.add(OptionBuilder.withLongOpt("interval").hasArg()
            .withDescription("the interval to add to the timestamp between messages in seconds [default: 10]")
            .create());
    optionList.add(OptionBuilder.withLongOpt("delay").hasArg()
            .withDescription("the delay between sending messages in milliseconds [default: 100]").create());

    // An extremely silly hack to maintain the above order in the help formatting.
    HelpFormatter formatter = new HelpFormatter();
    // Add a comparator to the HelpFormatter using the ArrayList above to sort by insertion order.
    formatter.setOptionComparator(new Comparator() {
        @Override
        public int compare(Object o1, Object o2) {
            // I know this isn't fast, but who cares! The list is short.
            return optionList.indexOf(o1) - optionList.indexOf(o2);
        }
    });

    // Now we can add all the options to an Options instance. This is dumb!
    Options options = new Options();
    for (Option option : optionList) {
        options.addOption(option);
    }

    CommandLine cmd = null;

    try {
        cmd = new BasicParser().parse(options, args);

    } catch (ParseException e) {
        formatter.printHelp("RabbitMQProducerMain", e.getMessage(), options, null);
        System.exit(1);
    }

    if (cmd.hasOption("h")) {
        formatter.printHelp("RabbitMQProducerMain", options);
        System.exit(2);
    }

    ConnectionFactory factory = new ConnectionFactory();

    if (cmd.hasOption("b")) {
        factory.setHost(cmd.getOptionValue("b"));
    }
    if (cmd.hasOption("u")) {
        factory.setUsername(cmd.getOptionValue("u"));
    }
    if (cmd.hasOption("p")) {
        factory.setPassword(cmd.getOptionValue("p"));
    }
    if (cmd.hasOption("v")) {
        factory.setVirtualHost(cmd.getOptionValue("v"));
    }
    if (cmd.hasOption("n")) {
        factory.setPort(Integer.parseInt(cmd.getOptionValue("n")));
    }

    String exchange = cmd.getOptionValue("e");
    String routingKey = "default.routing.key";
    if (cmd.hasOption("k")) {
        routingKey = cmd.getOptionValue("k");
    }

    boolean durable = cmd.hasOption("d");
    boolean autoDelete = cmd.hasOption("a");
    String type = cmd.getOptionValue("t", "topic");
    boolean single = cmd.hasOption("single");
    int interval = Integer.parseInt(cmd.getOptionValue("interval", "10"));
    int delay = Integer.parseInt(cmd.getOptionValue("delay", "100"));

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
    Date stop = sdf.parse(cmd.getOptionValue("stop", sdf.format(new Date())));

    Random r = new Random();
    Calendar timer = Calendar.getInstance();
    timer.setTime(sdf.parse(cmd.getOptionValue("start", "2010-01-01T00:00:00")));

    String msg_template = "{\"utcdt\": \"%s\", \"wp\": %d, \"gender\": \"%s\", \"age\": %d}";

    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();

    channel.exchangeDeclare(exchange, type, durable, autoDelete, null);

    do {
        int wp = (10 + r.nextInt(90)) * 100;
        String gender = r.nextBoolean() ? "male" : "female";
        int age = 20 + r.nextInt(70);

        String line = String.format(msg_template, sdf.format(timer.getTime()), wp, gender, age);

        channel.basicPublish(exchange, routingKey, null, line.getBytes());

        System.out.println("Sent message: " + line);

        timer.add(Calendar.SECOND, interval);

        Thread.sleep(delay);
    } while ((!single && stop.after(timer.getTime())));

    connection.close();
}

From source file:io.github.mattcarrier.metrics.transport.rabbit.RabbitMQRule.java

License:Apache License

@Override
protected void before() throws Throwable {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setUri(connectionUri);//  ww w . j  a v a2 s .c om
    conn = factory.newConnection();
    channel = conn.createChannel();

    // create the queue and register the consumer
    channel.queueDeclare(QUEUE_NAME, false, false, true, null);
    channel.basicConsume(QUEUE_NAME, true, "metrics-rabbit-consumer", new DefaultConsumer(channel) {
        @Override
        public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties,
                byte[] body) throws IOException {
            if (!isExpecting || !QUEUE_NAME.equals(envelope.getRoutingKey())) {
                return;
            }

            messages.add(body);
            if (messages.size() == expected) {
                isExpecting = false;
            }
        }
    });
}

From source file:io.macgyver.plugin.rabbitmq.RabbitMqServiceFactory.java

License:Apache License

@Override
protected ConnectionFactory doCreateInstance(ServiceDefinition def) {

    ConnectionFactory cf = new ConnectionFactory();

    assignProperties(cf, def.getProperties(), false);

    return cf;/*from   www.  ja va2s . co  m*/

}

From source file:io.opentracing.contrib.rabbitmq.TracingTest.java

License:Apache License

@Before
public void before() throws IOException, TimeoutException {
    mockTracer.reset();/*from ww w.  ja v  a2 s .co  m*/

    ConnectionFactory factory = new ConnectionFactory();
    factory.setUsername("guest");
    factory.setPassword("guest");
    factory.setHost("localhost");
    factory.setPort(embeddedAMQPBroker.getBrokerPort());
    connection = factory.newConnection();

    channel = new TracingChannel(connection.createChannel(), mockTracer);
}

From source file:io.qdb.server.input.RabbitMQInputHandler.java

License:Apache License

@SuppressWarnings("unchecked")
@Override//from ww w.j  a  v  a2s .co m
public void init(Queue q, Input input, String inputPath) throws Exception {
    super.init(q, input, inputPath);
    this.inputPath = inputPath;

    if (input.getUrl() == null)
        throw new IllegalArgumentException("url is required");

    if (queue != null && queue.length() == 0)
        queue = null;
    if (exchange != null && exchange.length() == 0)
        exchange = null;

    if (queue == null) {
        if (exchange == null)
            throw new IllegalArgumentException("queue is required");
    } else {
        String[] toks = queue.split("[\\s]*#[\\s]*");
        queue = toks[0];
        queueDurable = toks.length == 1 || "true".equals(toks[1]);
        if (queue.length() == 0)
            throw new IllegalArgumentException("empty queue name");
    }

    if (exchange != null) {
        String[] toks = exchange.split("[\\s]*#[\\s]*");
        exchange = toks[0];
        exchangeType = toks.length >= 2 ? toks[1] : "fanout";
        exchangeDurable = toks.length < 3 || "true".equals(toks[2]);
    }

    connectionFactory = new ConnectionFactory();
    connectionFactory.setUri(input.getUrl());
    connectionFactory.setRequestedHeartbeat(heartbeat);
    ensureChannel();
}

From source file:io.qdb.server.output.RabbitMQOutputHandler.java

License:Apache License

@SuppressWarnings("unchecked")
@Override//from w  w  w .  j  a  v  a2 s.  c  o  m
public void init(Queue q, Output output, String outputPath) throws Exception {
    this.outputPath = outputPath;

    if (output.getUrl() == null)
        throw new IllegalArgumentException("url is required");

    if (queues != null && queues.length == 0)
        queues = null;
    if (exchange != null && exchange.length() == 0)
        exchange = null;

    if (queues == null) {
        if (exchange == null)
            throw new IllegalArgumentException("queues or exchange is required");
    } else {
        queueDurable = new boolean[queues.length];
        for (int i = 0; i < queues.length; i++) {
            String[] toks = queues[i].split("[\\s]*#[\\s]*");
            queues[i] = toks[0];
            queueDurable[i] = toks.length == 1 || "true".equals(toks[1]);
            if (queues[i].length() == 0)
                throw new IllegalArgumentException("empty queue name");
        }
        if (exchange == null) {
            if (queues.length > 1)
                throw new IllegalArgumentException("exchange is required for multiple queues");
            exchange = queues[0];
        }
    }

    String[] toks = exchange.split("[\\s]*#[\\s]*");
    exchange = toks[0];
    exchangeType = toks.length >= 2 ? toks[1] : "fanout";
    exchangeDurable = toks.length < 3 || "true".equals(toks[2]);

    if (persistentMessages) {
        messageProperties = new AMQP.BasicProperties(null, null, null, 2, 0, null, null, null, null, null, null,
                null, null, null);
    }

    connectionFactory = new ConnectionFactory();
    connectionFactory.setUri(output.getUrl());
    connectionFactory.setRequestedHeartbeat(heartbeat);
    ensureChannel();
}

From source file:io.snappydata.rabbitmq.RabbitMQPublisher.java

License:Open Source License

public static void main(String[] argv) throws Exception {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost("localhost");
    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();
    channel.queueDeclare(QUEUE_NAME, true, false, false, null);

    int logCount = 0;
    int totalNumLogs = 1000000;

    while (logCount <= totalNumLogs) {
        AdImpressionLog log = AdImpressionGenerator.nextRandomAdImpression();
        channel.basicPublish("", QUEUE_NAME, null, getLogBytes(log));
        logCount += 1;/*from www .  j  a  v  a2s. co  m*/
        if (logCount % 100000 == 0) {
            System.out.println("RabbitMQPublisher published total " + logCount + " messages");
        }
    }

    channel.close();
    connection.close();
}

From source file:it.av.fac.messaging.rabbitmq.RabbitMQConnectionWrapper.java

private RabbitMQConnectionWrapper() throws FileNotFoundException, IOException, TimeoutException {
    Properties msgProperties = new Properties();
    msgProperties.load(new FileInputStream(MessagingConfig.PROPERTIES_FILE));

    String addr = msgProperties.getProperty("provider.addr", "127.0.0.1");
    int port = Integer.valueOf(msgProperties.getProperty("provider.port", "5672"));
    String username = msgProperties.getProperty("provider.auth.user", "guest");
    String password = msgProperties.getProperty("provider.auth.pass", "guest");

    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost(addr);//from www. j  a  v a2  s. c o m
    factory.setPort(port);
    factory.setUsername(username);
    factory.setPassword(password);
    factory.setAutomaticRecoveryEnabled(true);
    this.conn = factory.newConnection();
}