List of usage examples for com.rabbitmq.client ConnectionFactory ConnectionFactory
ConnectionFactory
From source file:org.graylog2.messagehandlers.amqp.AMQPBroker.java
License:Open Source License
public Connection getConnection() throws IOException { if (connection == null || !connection.isOpen()) { ConnectionFactory factory = new ConnectionFactory(); factory.setUsername(getUsername()); factory.setPassword(getPassword()); factory.setVirtualHost(getVirtualHost()); factory.setHost(getHost());/*from ww w . j a v a 2 s . c o m*/ factory.setPort(getPort()); this.connection = factory.newConnection(); } return this.connection; }
From source file:org.graylog2.radio.Radio.java
License:Open Source License
public Connection getBroker() throws IOException { if (brokerConnection == null || !brokerConnection.isOpen()) { ConnectionFactory factory = new ConnectionFactory(); factory.setHost(configuration.getAMQPHost()); factory.setPort(configuration.getAMQPPort()); factory.setUsername(configuration.getAMQPUser()); factory.setPassword(configuration.getAMQPPassword()); brokerConnection = factory.newConnection(); }/*from w ww .j av a2 s .com*/ return brokerConnection; }
From source file:org.graylog2.radio.transports.amqp.AMQPSender.java
License:Open Source License
public void connect() throws IOException { final ConnectionFactory factory = new ConnectionFactory(); factory.setHost(hostname);/* w ww. ja v a 2 s . c om*/ factory.setPort(port); factory.setVirtualHost(vHost); // Authenticate? if (username != null && !username.isEmpty() && password != null && !password.isEmpty()) { factory.setUsername(username); factory.setPassword(password); } factory.setConnectionTimeout((int) connectTimeout.getMillis()); connection = factory.newConnection(); channel = connection.createChannel(); // It's ok if the queue or exchange already exist. channel.queueDeclare(queueName, true, false, false, null); channel.exchangeDeclare(exchangeName, queueType, false, false, null); channel.queueBind(queueName, exchangeName, routingKey); }
From source file:org.hobbit.core.components.AbstractComponent.java
License:Open Source License
@Override public void init() throws Exception { hobbitSessionId = EnvVariables.getString(Constants.HOBBIT_SESSION_ID_KEY, Constants.HOBBIT_SESSION_ID_FOR_PLATFORM_COMPONENTS); rabbitMQHostName = EnvVariables.getString(Constants.RABBIT_MQ_HOST_NAME_KEY, LOGGER); connectionFactory = new ConnectionFactory(); if (rabbitMQHostName.contains(":")) { String[] splitted = rabbitMQHostName.split(":"); connectionFactory.setHost(splitted[0]); connectionFactory.setPort(Integer.parseInt(splitted[1])); } else//w w w .j a va 2 s . com connectionFactory.setHost(rabbitMQHostName); connectionFactory.setAutomaticRecoveryEnabled(true); // attempt recovery every 10 seconds connectionFactory.setNetworkRecoveryInterval(10000); incomingDataQueueFactory = new RabbitQueueFactoryImpl(createConnection()); outgoingDataQueuefactory = new RabbitQueueFactoryImpl(createConnection()); }
From source file:org.hobbit.core.rabbit.EchoServer.java
License:Open Source License
@Override public void run() { running = true;//from w w w .j a v a2 s . c o m Connection connection = null; try { ConnectionFactory factory = new ConnectionFactory(); factory.setHost(rabbitHost); connection = factory.newConnection(); Channel channel = connection.createChannel(); channel.basicQos(1); channel.queueDeclare(queueName, false, false, true, null); Consumer consumer = new DefaultConsumer(channel) { @Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { BasicProperties replyProps = new BasicProperties.Builder() .correlationId(properties.getCorrelationId()).deliveryMode(2).build(); channel.basicPublish("", properties.getReplyTo(), replyProps, body); } }; channel.basicConsume(queueName, true, consumer); while (running) { Thread.sleep(3000); } } catch (Exception e) { e.printStackTrace(); } finally { if (connection != null) { try { connection.close(); } catch (IOException e) { } } } }
From source file:org.hobbit.core.rabbit.FileStreamingTest.java
License:Open Source License
@Before public void before() throws Exception { ConnectionFactory factory = new ConnectionFactory(); factory.setHost(TestConstants.RABBIT_HOST); connection = factory.newConnection(); }
From source file:org.hobbit.core.rabbit.ParallelizationTest.java
License:Open Source License
@Test public void test() throws InterruptedException, IOException, TimeoutException { EchoServer server = new EchoServer(TestConstants.RABBIT_HOST, REQUEST_QUEUE_NAME); Thread serverThread = new Thread(server); serverThread.start();//from ww w. ja v a2s .com System.out.println("Server started."); Random rand = new Random(); Thread clientThreads[] = new Thread[NUMBER_OF_CLIENTS]; RabbitRpcClient client = null; Connection connection = null; long time; try { ConnectionFactory factory = new ConnectionFactory(); factory.setHost(TestConstants.RABBIT_HOST); connection = factory.newConnection(); client = RabbitRpcClient.create(connection, REQUEST_QUEUE_NAME); for (int i = 0; i < clientThreads.length; ++i) { clientThreads[i] = new Thread( new RpcClientBasedEchoClient(client, NUMBER_OF_MSGS, rand.nextLong())); } Timer timer = new Timer(); final Thread testThread = Thread.currentThread(); timer.schedule(new TimerTask() { @SuppressWarnings("deprecation") @Override public void run() { testThread.stop(); } }, MAX_RUNTIME); time = System.currentTimeMillis(); for (int i = 0; i < clientThreads.length; ++i) { clientThreads[i].start(); System.out.print("Client #"); System.out.print(i); System.out.println(" started."); } for (int i = 0; i < clientThreads.length; ++i) { clientThreads[i].join(); System.out.print("Client #"); System.out.print(i); System.out.println(" terminated."); } server.setRunning(false); serverThread.join(); timer.cancel(); time = System.currentTimeMillis() - time; System.out.println("Server terminated."); System.out.println("runtime : " + time + "ms"); } finally { if (client != null) { client.close(); } if (connection != null) { connection.close(); } } }
From source file:org.hp.samples.ProcessMessage.java
License:Open Source License
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/plain"); response.setStatus(200);/* w w w .j av a2 s. co m*/ PrintWriter writer = response.getWriter(); writer.println("Here's your message:"); // Pull out the RABBITMQ_URL environment variable String uri = System.getenv("RABBITMQ_URL"); ConnectionFactory factory = new ConnectionFactory(); try { factory.setUri(uri); } catch (KeyManagementException e) { e.printStackTrace(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (URISyntaxException e) { e.printStackTrace(); } Connection connection = factory.newConnection(); Channel channel = connection.createChannel(); // Create the queue channel.queueDeclare("hello", false, false, false, null); String routingKey = "thekey"; String exchangeName = "exchange"; // Declare an exchange and bind it to the queue channel.exchangeDeclare(exchangeName, "direct", true); channel.queueBind("hello", exchangeName, routingKey); // Grab the message from the HTML form and publish it to the queue String message = request.getParameter("message"); channel.basicPublish(exchangeName, routingKey, null, message.getBytes()); writer.println(" Message sent to queue '" + message + "'"); boolean autoAck = false; // Get the response message GetResponse responseMsg = channel.basicGet("hello", autoAck); if (responseMsg == null) { // No message retrieved. } else { byte[] body = responseMsg.getBody(); // Since getBody() returns a byte array, convert to a string for // the user. String bodyString = new String(body); long deliveryTag = responseMsg.getEnvelope().getDeliveryTag(); writer.println("Message received: " + bodyString); // Acknowledge that we received the message so that the queue // removes the message so that it's not sent to us again. channel.basicAck(deliveryTag, false); } writer.close(); }
From source file:org.hp.samples.RabbitServlet.java
License:Open Source License
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); response.setStatus(200);/*from ww w . j av a2s . c o m*/ PrintWriter writer = response.getWriter(); // Create an HTML form for the user to input a message for the queue String docType = "<!doctype html public \"-//w3c//dtd html 4.0 " + "transitional//en\">\n"; writer.println(docType + "<html>" + "<body>" + "<p>RabbitMQ for Java</p>" + "<form action='ProcessMessage' method='post'>" + "Message to send: <input type='text' name='message'><br>" + "<input type='submit' value='Send Message'>" + "</form>" + "</body>" + "</html>"); String uri = System.getenv("RABBITMQ_URL"); ConnectionFactory factory = new ConnectionFactory(); try { factory.setUri(uri); } catch (KeyManagementException e) { e.printStackTrace(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (URISyntaxException e) { e.printStackTrace(); } Connection connection = factory.newConnection(); Channel channel = connection.createChannel(); channel.queueDeclare("hello", false, false, false, null); writer.close(); }
From source file:org.iplantcollaborative.ClientRegistrar.java
License:Apache License
public void connect() throws IOException, TimeoutException { ConnectionFactory factory = new ConnectionFactory(); factory.setHost(this.serverConf.getHostname()); factory.setPort(this.serverConf.getPort()); factory.setUsername(this.serverConf.getUserId()); factory.setPassword(this.serverConf.getUserPwd()); factory.setVirtualHost(this.serverConf.getVhostPublish()); factory.setAutomaticRecoveryEnabled(true); this.connection = factory.newConnection(); this.channel = this.connection.createChannel(); LOG.info("client registrar connected - " + this.serverConf.getHostname() + ":" + this.serverConf.getPort()); this.channel.basicQos(1); this.channel.queueBind(QUEUE_NAME, EXCHANGE_NAME, "#"); this.consumer = new DefaultConsumer(this.channel) { @Override/*from w w w . j ava2 s. com*/ public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String message = new String(body, "UTF-8"); LOG.info("registration - " + message); BasicProperties replyProps = new BasicProperties.Builder() .correlationId(properties.getCorrelationId()).build(); ARequest request = RequestFactory.getRequestInstance(message); // handle lease request if (request instanceof RequestLease) { ResponseLease res = lease((RequestLease) request); String response_json = serializer.toJson(res); if (properties.getReplyTo() != null) { channel.basicPublish("", properties.getReplyTo(), replyProps, response_json.getBytes()); } else { LOG.error("unable to return response. reply_to field is null"); } } else { LOG.error("Unknown request : " + message); } channel.basicAck(envelope.getDeliveryTag(), false); } }; this.workerThread = new Thread(new Runnable() { @Override public void run() { try { channel.basicConsume(QUEUE_NAME, false, consumer); LOG.info("Waiting for registrations"); } catch (IOException ex) { LOG.error("Exception occurred while consuming message", ex); } } }); this.workerThread.start(); }