List of usage examples for com.rabbitmq.client ConnectionFactory setHost
public void setHost(String host)
From source file:org.apache.axis2.transport.rabbitmq.ConnectionFactoryManager.java
License:Open Source License
/** * Get the connection factory that matches the given name, i.e. referring to * the same underlying connection factory. Used by the RabbitMQSender to determine if already * available resources should be used for outgoing messages. If no factory instance is * found then a new one will be created and added to the connection factory map * * @param props a Map of connection factory properties and name * @return the connection factory or null if no connection factory compatible * with the given properties exists *//*www .j a v a 2s .c o m*/ public ConnectionFactory getAMQPConnectionFactory(Hashtable<String, String> props) { ConnectionFactory connectionFactory = null; String hostName = props.get(RabbitMQConstants.SERVER_HOST_NAME); String portValue = props.get(RabbitMQConstants.SERVER_PORT); String hostAndPort = hostName + ":" + portValue; connectionFactory = connectionFactories.get(hostAndPort); if (connectionFactory == null) { com.rabbitmq.client.ConnectionFactory factory = new com.rabbitmq.client.ConnectionFactory(); if (hostName != null && !hostName.equals("")) { factory.setHost(hostName); } else { throw new AxisRabbitMQException("Host name is not correctly defined"); } int port = Integer.parseInt(portValue); if (port > 0) { factory.setPort(port); } String userName = props.get(RabbitMQConstants.SERVER_USER_NAME); if (userName != null && !userName.equals("")) { factory.setUsername(userName); } String password = props.get(RabbitMQConstants.SERVER_PASSWORD); if (password != null && !password.equals("")) { factory.setPassword(password); } String virtualHost = props.get(RabbitMQConstants.SERVER_VIRTUAL_HOST); if (virtualHost != null && !virtualHost.equals("")) { factory.setVirtualHost(virtualHost); } factory.setAutomaticRecoveryEnabled(true); factory.setTopologyRecoveryEnabled(false); connectionFactory = new ConnectionFactory(hostAndPort, factory); connectionFactories.put(connectionFactory.getName(), connectionFactory); } return connectionFactory; }
From source file:org.apache.camel.component.rabbitmq.RabbitMQConsumerIntTest.java
License:Apache License
@Test public void sentMessageIsReceived() throws InterruptedException, IOException { to.expectedMessageCount(1);/*from w ww . j a v a 2 s . c om*/ to.expectedHeaderReceived(RabbitMQConstants.REPLY_TO, "myReply"); ConnectionFactory factory = new ConnectionFactory(); factory.setHost("localhost"); factory.setPort(5672); factory.setUsername("cameltest"); factory.setPassword("cameltest"); factory.setVirtualHost("/"); Connection conn = factory.newConnection(); AMQP.BasicProperties.Builder properties = new AMQP.BasicProperties.Builder(); properties.replyTo("myReply"); Channel channel = conn.createChannel(); channel.basicPublish(EXCHANGE, "", properties.build(), "hello world".getBytes()); to.assertIsSatisfied(); }
From source file:org.apache.camel.component.rabbitmq.RabbitMQProducerIntTest.java
License:Apache License
@Test public void producedMessageIsReceived() throws InterruptedException, IOException { ConnectionFactory factory = new ConnectionFactory(); factory.setHost("localhost"); factory.setPort(5672);/*from w ww. j a v a 2 s . com*/ factory.setUsername("cameltest"); factory.setPassword("cameltest"); factory.setVirtualHost("/"); Connection conn = factory.newConnection(); final List<Envelope> received = new ArrayList<Envelope>(); Channel channel = conn.createChannel(); channel.queueDeclare("sammyq", false, false, true, null); channel.queueBind("sammyq", EXCHANGE, "route1"); channel.basicConsume("sammyq", true, new DefaultConsumer(channel) { @Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { received.add(envelope); } }); template.sendBodyAndHeader("new message", RabbitMQConstants.EXCHANGE_NAME, "ex1"); Thread.sleep(500); assertEquals(1, received.size()); }
From source file:org.apache.cloudstack.mom.rabbitmq.RabbitMQEventBus.java
License:Apache License
private synchronized Connection createConnection() throws Exception { try {//from w ww .j av a2 s . c om ConnectionFactory factory = new ConnectionFactory(); factory.setUsername(username); factory.setPassword(password); factory.setVirtualHost("/"); factory.setHost(amqpHost); factory.setPort(port); Connection connection = factory.newConnection(); connection.addShutdownListener(disconnectHandler); _connection = connection; return _connection; } catch (Exception e) { throw e; } }
From source file:org.apache.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 w w w .j a v a 2 s . c om*/ 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. //noinspection ComparatorCombinators -- don't replace with comparingInt() to preserve comments formatter.setOptionComparator((o1, o2) -> { // I know this isn't fast, but who cares! The list is short. //noinspection SuspiciousMethodCalls return Integer.compare(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", Locale.ENGLISH); Date stop = sdf.parse(cmd.getOptionValue("stop", sdf.format(new Date()))); Random r = ThreadLocalRandom.current(); Calendar timer = Calendar.getInstance(TimeZone.getTimeZone("UTC"), Locale.ENGLISH); 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 = StringUtils.format(msg_template, sdf.format(timer.getTime()), wp, gender, age); channel.basicPublish(exchange, routingKey, null, StringUtils.toUtf8(line)); 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:org.apache.flink.streaming.connectors.rabbitmq.common.RMQConnectionConfig.java
License:Apache License
/** * * @return Connection Factory for RMQ/*from ww w .j av a 2 s . c o m*/ * @throws URISyntaxException, NoSuchAlgorithmException, KeyManagementException if Malformed URI has been passed */ public ConnectionFactory getConnectionFactory() throws URISyntaxException, NoSuchAlgorithmException, KeyManagementException { ConnectionFactory factory = new ConnectionFactory(); if (this.uri != null && !this.uri.isEmpty()) { try { factory.setUri(this.uri); } catch (URISyntaxException | NoSuchAlgorithmException | KeyManagementException e) { LOG.error("Failed to parse uri", e); throw e; } } else { factory.setHost(this.host); factory.setPort(this.port); factory.setVirtualHost(this.virtualHost); factory.setUsername(this.username); factory.setPassword(this.password); } if (this.automaticRecovery != null) { factory.setAutomaticRecoveryEnabled(this.automaticRecovery); } if (this.connectionTimeout != null) { factory.setConnectionTimeout(this.connectionTimeout); } if (this.networkRecoveryInterval != null) { factory.setNetworkRecoveryInterval(this.networkRecoveryInterval); } if (this.requestedHeartbeat != null) { factory.setRequestedHeartbeat(this.requestedHeartbeat); } if (this.topologyRecovery != null) { factory.setTopologyRecoveryEnabled(this.topologyRecovery); } if (this.requestedChannelMax != null) { factory.setRequestedChannelMax(this.requestedChannelMax); } if (this.requestedFrameMax != null) { factory.setRequestedFrameMax(this.requestedFrameMax); } return factory; }
From source file:org.apache.flume.amqp.AmqpSource.java
License:Apache License
@VisibleForTesting static ConnectionFactory createConnectionFactoryFrom(Context context) { String host = context.getString(AmqpSourceConfigurationConstants.HOST, Constants.Defaults.HOST); int port = context.getInteger(AmqpSourceConfigurationConstants.PORT, Constants.Defaults.PORT); String virtualHost = context.getString(AmqpSourceConfigurationConstants.VIRTUAL_HOST, Constants.Defaults.VIRTUAL_HOST); String userName = context.getString(AmqpSourceConfigurationConstants.USER_NAME, Constants.Defaults.USER_NAME); String password = context.getString(AmqpSourceConfigurationConstants.PASSWORD, Constants.Defaults.PASSWORD); int connectionTimeout = context.getInteger(AmqpSourceConfigurationConstants.CONNECTION_TIMEOUT, Constants.Defaults.CONNECTION_TIMEOUT); int requestHeartbeat = context.getInteger(AmqpSourceConfigurationConstants.REQUEST_HEARTBEAT, Constants.Defaults.REQUESTED_HEARTBEAT); ConnectionFactory connectionFactory = new ConnectionFactory(); connectionFactory.setHost(host); connectionFactory.setPort(port);// www . j a v a 2s . c o m connectionFactory.setVirtualHost(virtualHost); connectionFactory.setUsername(userName); connectionFactory.setPassword(password); connectionFactory.setConnectionTimeout(connectionTimeout); connectionFactory.setRequestedHeartbeat(requestHeartbeat); return connectionFactory; }
From source file:org.apache.flume.RabbitMQUtil.java
License:Apache License
public static ConnectionFactory getFactory(Context context) { Preconditions.checkArgument(context != null, "context cannot be null."); ConnectionFactory factory = new ConnectionFactory(); String hostname = context.getString("hostname"); Preconditions.checkArgument(hostname != null, "No hostname specified."); factory.setHost(hostname); int port = context.getInteger(RabbitMQConstants.CONFIG_PORT, -1); if (-1 != port) { factory.setPort(port);/* w w w . j a va 2 s .c o m*/ } String username = context.getString(RabbitMQConstants.CONFIG_USERNAME); if (null == username) { factory.setUsername(ConnectionFactory.DEFAULT_USER); } else { factory.setUsername(username); } String password = context.getString(RabbitMQConstants.CONFIG_PASSWORD); if (null == password) { factory.setPassword(ConnectionFactory.DEFAULT_PASS); } else { factory.setPassword(password); } String virtualHost = context.getString(RabbitMQConstants.CONFIG_VIRTUALHOST); if (null != virtualHost) { factory.setVirtualHost(virtualHost); } int connectionTimeout = context.getInteger(RabbitMQConstants.CONFIG_CONNECTIONTIMEOUT, -1); if (connectionTimeout > -1) { factory.setConnectionTimeout(connectionTimeout); } // boolean useSSL = context.getBoolean("usessl", false); // if(useSSL){ // factory.useSslProtocol(); // } return factory; }
From source file:org.apache.helix.recipes.rabbitmq.ConsumerThread.java
License:Apache License
@Override public void run() { Connection connection = null; try {/*w w w. ja v a 2s.com*/ ConnectionFactory factory = new ConnectionFactory(); factory.setHost(_mqServer); connection = factory.newConnection(); Channel channel = connection.createChannel(); channel.exchangeDeclare(EXCHANGE_NAME, "topic"); String queueName = channel.queueDeclare().getQueue(); String bindingKey = _partition.toString(); channel.queueBind(queueName, EXCHANGE_NAME, bindingKey); System.out.println( " [*] " + _consumerId + " Waiting for messages on " + bindingKey + ". To exit press CTRL+C"); QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicConsume(queueName, true, consumer); while (true) { QueueingConsumer.Delivery delivery = consumer.nextDelivery(); String message = new String(delivery.getBody()); String routingKey = delivery.getEnvelope().getRoutingKey(); System.out.println(" [x] " + _consumerId + " Received '" + routingKey + "':'" + message + "'"); } } catch (InterruptedException e) { System.err.println(" [-] " + _consumerId + " on " + _partition + " is interrupted ..."); } catch (Exception e) { e.printStackTrace(); } finally { if (connection != null) { try { connection.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
From source file:org.apache.helix.recipes.rabbitmq.Emitter.java
License:Apache License
public static void main(String[] args) throws Exception { if (args.length < 1) { System.err.println("USAGE: java Emitter rabbitmqServer (e.g. localhost) numberOfMessage (optional)"); System.exit(1);/*from ww w . ja v a 2s.co m*/ } final String mqServer = args[0]; // "zzhang-ld"; int count = Integer.MAX_VALUE; if (args.length > 1) { try { count = Integer.parseInt(args[1]); } catch (Exception e) { // TODO: handle exception } } System.out.println("Sending " + count + " messages with random topic id"); ConnectionFactory factory = new ConnectionFactory(); factory.setHost(mqServer); Connection connection = factory.newConnection(); Channel channel = connection.createChannel(); channel.exchangeDeclare(EXCHANGE_NAME, "topic"); for (int i = 0; i < count; i++) { int rand = ((int) (Math.random() * 10000) % SetupConsumerCluster.DEFAULT_PARTITION_NUMBER); String routingKey = "topic_" + rand; String message = "message_" + rand; channel.basicPublish(EXCHANGE_NAME, routingKey, null, message.getBytes()); System.out.println(" [x] Sent '" + routingKey + "':'" + message + "'"); Thread.sleep(1000); } connection.close(); }