List of usage examples for com.rabbitmq.client Channel basicConsume
String basicConsume(String queue, boolean autoAck, Consumer callback) throws IOException;
From source file:com.mycompany.javateste.queues.Recv.java
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, false, false, false, null); System.out.println(" [*] Waiting for messages. To exit press CTRL+C"); Consumer consumer = new DefaultConsumer(channel) { @Override//w w w . j a v a2 s . c o m public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String message = new String(body, "UTF-8"); System.out.println(" [x] Received '" + message + "'"); } }; channel.basicConsume(QUEUE_NAME, true, consumer); }
From source file:com.mycompany.javateste.queues.routing.ReceiveLogsDirect.java
public static void main(String[] argv) throws Exception { ConnectionFactory factory = new ConnectionFactory(); factory.setHost("localhost"); Connection connection = factory.newConnection(); Channel channel = connection.createChannel(); channel.exchangeDeclare(EXCHANGE_NAME, "direct"); String queueName = channel.queueDeclare().getQueue(); if (argv.length < 1) { System.err.println("Usage: ReceiveLogsDirect [info] [warning] [error]"); System.exit(1);/*from ww w . j av a2 s .c o m*/ } for (String severity : argv) { channel.queueBind(queueName, EXCHANGE_NAME, severity); } System.out.println(" [*] Waiting for messages. To exit press CTRL+C"); Consumer consumer = new DefaultConsumer(channel) { @Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String message = new String(body, "UTF-8"); System.out.println(" [x] Received '" + envelope.getRoutingKey() + "':'" + message + "'"); } }; channel.basicConsume(queueName, true, consumer); }
From source file:com.mycompany.javateste.queues.topic.ReceiveLogsTopic.java
public static void main(String[] argv) throws Exception { ConnectionFactory factory = new ConnectionFactory(); factory.setHost("localhost"); Connection connection = factory.newConnection(); Channel channel = connection.createChannel(); channel.exchangeDeclare(EXCHANGE_NAME, "topic"); String queueName = channel.queueDeclare().getQueue(); if (argv.length < 1) { System.err.println("Usage: ReceiveLogsTopic [binding_key]..."); System.exit(1);/* w ww . j a va 2 s. co m*/ } for (String bindingKey : argv) { channel.queueBind(queueName, EXCHANGE_NAME, bindingKey); } System.out.println(" [*] Waiting for messages. To exit press CTRL+C"); Consumer consumer = new DefaultConsumer(channel) { @Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String message = new String(body, "UTF-8"); System.out.println(" [x] Received '" + envelope.getRoutingKey() + "':'" + message + "'"); } }; channel.basicConsume(queueName, true, consumer); }
From source file:com.mycompany.javateste.queues.worktasks.Worker.java
public static void main(String[] argv) throws Exception { ConnectionFactory factory = new ConnectionFactory(); factory.setHost("localhost"); final Connection connection = factory.newConnection(); final Channel channel = connection.createChannel(); channel.queueDeclare(TASK_QUEUE_NAME, true, false, false, null); System.out.println(" [*] Waiting for messages. To exit press CTRL+C"); channel.basicQos(1);//from www . jav a2s. c o m final Consumer consumer = new DefaultConsumer(channel) { @Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String message = new String(body, "UTF-8"); System.out.println(" [x] Received '" + message + "'"); try { doWork(message); } finally { System.out.println(" [x] Done"); channel.basicAck(envelope.getDeliveryTag(), false); } } }; channel.basicConsume(TASK_QUEUE_NAME, false, consumer); }
From source file:com.mycompany.loanbroker.requestLoan.java
/** * Web service operation/* w w w .j a v a 2 s . co m*/ */ @WebMethod(operationName = "request") public String request(@WebParam(name = "ssn") String ssn, @WebParam(name = "loanAmount") double loanAmount, @WebParam(name = "loanDuration") int loanDuration) throws IOException, InterruptedException { ConnectionFactory factory = new ConnectionFactory(); factory.setHost("datdb.cphbusiness.dk"); factory.setUsername("Dreamteam"); factory.setPassword("bastian"); Connection connection = factory.newConnection(); Channel sendingchannel = connection.createChannel(); Channel listeningChannel = connection.createChannel(); listeningChannel.exchangeDeclare(EXCHANGE, "direct"); listeningChannel.queueDeclare(LISTENING_QUEUE_NAME, false, false, false, null); listeningChannel.queueBind(LISTENING_QUEUE_NAME, EXCHANGE, ssn.replace("-", "")); sendingchannel.queueDeclare(SENDING_QUEUE_NAME, false, false, false, null); message = ssn + "," + loanAmount + "," + loanDuration; sendingchannel.basicPublish("", SENDING_QUEUE_NAME, null, message.getBytes()); sendingchannel.close(); Consumer consumer = new DefaultConsumer(listeningChannel) { @Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String message = new String(body, "UTF-8"); System.out.println(" [x] The LoanBroker Has Received '" + message + "'"); result = message; } }; listeningChannel.basicConsume(LISTENING_QUEUE_NAME, true, consumer); //connection.close(); return result; }
From source file:com.mycompany.net.Run.java
/** * @param args the command line arguments * @throws java.io.IOException//from w ww . j a v a2s . c om * @throws java.util.concurrent.TimeoutException */ public static void main(String[] args) throws IOException, TimeoutException { // TODO code application logic here JPA jpa = new JPA(); jpa.initDB(); ConnectionFactory factory = new ConnectionFactory(); factory.setHost("systembus"); // RabbitMQ IP Connection connection = factory.newConnection(); Channel channel = connection.createChannel(); channel.exchangeDeclare("sensors", "topic"); // sensors is the name of the exchange AMQP.Queue.DeclareOk result = channel.queueDeclare("", false, true, false, null); String queuename = result.getQueue(); //bind to sensor info channel.queueBind(queuename, "sensors", "gateway.data"); // Binding key is #, this will consume all messages //bind to the dashboard channel.queueBind(queuename, "sensors", "dashboard.request"); //bind to Processing units output channel.queueBind(queuename, "sensors", "database.put"); logger.info(" [*] Waiting for messages. To exit press CTRL+C"); Consumer consumer = new DefaultConsumer(channel) { @Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { try { String message = new String(body, "UTF-8"); Gson gson = new Gson(); Type type = new TypeToken<Map<String, String>>() { }.getType(); Map<String, String> myMap = gson.fromJson(message, type); logger.info(" [x] " + envelope.getRoutingKey() + " - Received '" + message + "'"); String routing_key = envelope.getRoutingKey(); if ("gateway.data".equals(routing_key)) { jpa.saveRawToDB(myMap); } else if ("database.put".equals(routing_key)) { jpa.saveAlertToDB(myMap); } else if ("dashboard.request".equals(routing_key)) { Thread.sleep(1000); jpa.processRequest(myMap, channel); } else logger.error("NOT A VALID MESSAGE!"); } catch (Exception e) { logger.error(e.toString()); } } }; channel.basicConsume(queuename, true, consumer); //channel.close(); //connection.close(); //entityManager.close(); //entityManagerFactory.close(); }
From source file:com.mycompany.normalizer.Normalizer.java
public static void main(String[] argv) throws Exception { ConnectionFactory factory = new ConnectionFactory(); factory.setHost("datdb.cphbusiness.dk"); factory.setUsername("Dreamteam"); factory.setPassword("bastian"); Connection connection = factory.newConnection(); Channel channel = connection.createChannel(); final Channel sendingChannel = connection.createChannel(); channel.queueDeclare(QUEUE_NAME, false, false, false, null); sendingChannel.exchangeDeclare(SENDING_QUEUE_NAME, "fanout"); System.out.println(" [*] Waiting for messages. To exit press CTRL+C"); Consumer consumer = new DefaultConsumer(channel) { @Override//from w w w. j ava2 s. c o m public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String message = new String(body, "UTF-8"); System.out.println(" [x] Received '" + message + "'"); //HANDLE HERE if (message.startsWith("{")) { // Transform with GSON schoolBank = message.contains("-"); if (!schoolBank) { message = message.replace("-", ""); JResponse jresponse = gson.fromJson(message, JResponse.class); jresponse.setBank("cphbusiness.bankJSON"); message = gson.toJson(jresponse); } else { message = message.replace("-", ""); JResponse jresponse = gson.fromJson(message, JResponse.class); jresponse.setBank("DreamTeamBankJSON"); message = gson.toJson(jresponse); } sendingChannel.basicPublish(SENDING_QUEUE_NAME, "", null, message.getBytes()); } else { schoolBank = message.contains("-"); String result = ""; if (!schoolBank) { message = message.replace("-", ""); JSONObject soapDatainJsonObject = XML.toJSONObject(message); result = gson.toJson(soapDatainJsonObject); result = result.replace("{\"map\":{\"LoanResponse\":{\"map\":", ""); result = result.replace("}}}", ""); JResponse jresponse = gson.fromJson(result, JResponse.class); jresponse.setBank("cphbusiness.bankXML"); result = gson.toJson(jresponse); } else { message = message.replace("-", ""); JSONObject soapDatainJsonObject = XML.toJSONObject(message); result = gson.toJson(soapDatainJsonObject); result = result.replace("{\"map\":{\"LoanResponse\":{\"map\":", ""); result = result.replace("}}}", ""); JResponse jresponse = gson.fromJson(result, JResponse.class); jresponse.setBank("DreamTeamBankXML"); result = gson.toJson(jresponse); } // XResponse response = gson.fromJson(soapDatainJsonObject, XResponse.class); sendingChannel.basicPublish(SENDING_QUEUE_NAME, "", null, result.getBytes()); } } }; channel.basicConsume(QUEUE_NAME, true, consumer); }
From source file:com.mycompany.receiptlist.ReceiptList.java
public static void main(String[] argv) throws Exception { ConnectionFactory factory = new ConnectionFactory(); factory.setHost("datdb.cphbusiness.dk"); factory.setUsername("Dreamteam"); factory.setPassword("bastian"); Connection connection = factory.newConnection(); Channel listeningChannel = connection.createChannel(); final Channel sendingChannel = connection.createChannel(); listeningChannel.queueDeclare(QUEUE_NAME, false, false, false, null); sendingChannel.exchangeDeclare(EXCHANGE_NAME, "direct"); System.out.println(" [*] Waiting for messages. To exit press CTRL+C"); Consumer consumer = new DefaultConsumer(listeningChannel) { @Override//w ww . ja v a 2s .co m public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String message = new String(body, "UTF-8"); System.out.println(" [x] Received '" + message + "'"); String[] arr = message.split(","); for (int i = 0; i < arr.length; i++) { switch (arr[i]) { case "DreamTeamXMLQueue": sendingChannel.basicPublish(EXCHANGE_NAME, "DreamTeamBankXML", null, message.getBytes()); break; case "DreamTeamJSONQueue": sendingChannel.basicPublish(EXCHANGE_NAME, "DreamTeamBankJSON", null, message.getBytes()); break; case "cphbusiness.bankXML": sendingChannel.basicPublish(EXCHANGE_NAME, "CphBusinessXML", null, message.getBytes()); break; case "cphbusiness.bankJSON": sendingChannel.basicPublish(EXCHANGE_NAME, "CphBusinessJSON", null, message.getBytes()); break; } } } }; listeningChannel.basicConsume(QUEUE_NAME, true, consumer); }
From source file:com.navercorp.pinpoint.plugin.jdk7.rabbitmq.RabbitMQTestRunner.java
License:Apache License
void runPushTest() throws Exception { final String message = "hello rabbit mq"; // producer side final Connection producerConnection = connectionFactory.newConnection(); final Channel producerChannel = producerConnection.createChannel(); producerChannel.exchangeDeclare(RabbitMQTestConstants.EXCHANGE, "direct", false); producerChannel.queueDeclare(RabbitMQTestConstants.QUEUE_PUSH, false, false, false, null); producerChannel.queueBind(RabbitMQTestConstants.QUEUE_PUSH, RabbitMQTestConstants.EXCHANGE, RabbitMQTestConstants.ROUTING_KEY_PUSH); AMQP.BasicProperties.Builder builder = new AMQP.BasicProperties.Builder(); producerChannel.basicPublish(RabbitMQTestConstants.EXCHANGE, RabbitMQTestConstants.ROUTING_KEY_PUSH, false, false, builder.appId("test").build(), message.getBytes()); producerChannel.close();/*from w ww .j a va 2s . co m*/ producerConnection.close(); //comsumer side final Connection consumerConnection = connectionFactory.newConnection(); final Channel consumerChannel = consumerConnection.createChannel(); final String remoteAddress = consumerConnection.getAddress().getHostAddress() + ":" + consumerConnection.getPort(); consumerChannel.queueDeclare(RabbitMQTestConstants.QUEUE_PUSH, false, false, false, null); TestConsumer<String> consumer = new TestConsumer<String>(consumerChannel, MessageConverter.FOR_TEST); consumerChannel.basicConsume(RabbitMQTestConstants.QUEUE_PUSH, true, consumer); // wait consumer Assert.assertEquals(message, consumer.getMessage(10, TimeUnit.SECONDS)); consumerChannel.close(); consumerConnection.close(); PluginTestVerifier verifier = PluginTestVerifierHolder.getInstance(); // Wait till all traces are recorded (consumer traces are recorded from another thread) awaitAndVerifyTraceCount(verifier, 6, 5000L); verifier.printCache(); Class<?> producerChannelClass = producerChannel.getClass(); Method channelBasicPublish = producerChannelClass.getDeclaredMethod("basicPublish", String.class, String.class, boolean.class, boolean.class, AMQP.BasicProperties.class, byte[].class); ExpectedTrace channelBasicPublishTrace = Expectations.event(RabbitMQTestConstants.RABBITMQ_CLIENT, // serviceType channelBasicPublish, // method null, // rpc remoteAddress, // endPoint "exchange-" + RabbitMQTestConstants.EXCHANGE, // destinationId Expectations.annotation("rabbitmq.exchange", RabbitMQTestConstants.EXCHANGE), Expectations.annotation("rabbitmq.routingkey", RabbitMQTestConstants.ROUTING_KEY_PUSH)); ExpectedTrace rabbitMqConsumerInvocationTrace = Expectations.root(RabbitMQTestConstants.RABBITMQ_CLIENT, // serviceType "RabbitMQ Consumer Invocation", // method "rabbitmq://exchange=" + RabbitMQTestConstants.EXCHANGE, // rpc null, // endPoint (collected but API to retrieve local address is not available in all versions, so skip) remoteAddress, // remoteAddress Expectations.annotation("rabbitmq.routingkey", RabbitMQTestConstants.ROUTING_KEY_PUSH)); Class<?> consumerDispatchClass = Class.forName("com.rabbitmq.client.impl.ConsumerDispatcher"); Method consumerDispatchHandleDelivery = consumerDispatchClass.getDeclaredMethod("handleDelivery", Consumer.class, String.class, Envelope.class, AMQP.BasicProperties.class, byte[].class); ExpectedTrace consumerDispatcherHandleDeliveryTrace = Expectations .event(RabbitMQTestConstants.RABBITMQ_CLIENT_INTERNAL, consumerDispatchHandleDelivery); // method ExpectedTrace asynchronousInvocationTrace = Expectations.event(ServiceType.ASYNC.getName(), "Asynchronous Invocation"); Class<?> consumerClass = consumer.getClass(); Method consumerHandleDelivery = consumerClass.getDeclaredMethod("handleDelivery", String.class, Envelope.class, AMQP.BasicProperties.class, byte[].class); ExpectedTrace consumerHandleDeliveryTrace = Expectations .event(RabbitMQTestConstants.RABBITMQ_CLIENT_INTERNAL, consumerHandleDelivery); Class<?> propagationMarkerClass = PropagationMarker.class; Method propagationMarkerMark = propagationMarkerClass.getDeclaredMethod("mark"); ExpectedTrace markTrace = Expectations.event(ServiceType.INTERNAL_METHOD.getName(), propagationMarkerMark); verifier.verifyTrace(channelBasicPublishTrace, rabbitMqConsumerInvocationTrace, consumerDispatcherHandleDeliveryTrace, asynchronousInvocationTrace, consumerHandleDeliveryTrace, markTrace); verifier.verifyTraceCount(0); }
From source file:com.nesscomputing.amqp.ExchangeConsumer.java
License:Apache License
@Override protected void connectCallback(@Nonnull final Channel channel) throws IOException { super.connectCallback(channel); if (getConfig().isDeclaring()) { channel.exchangeDeclare(getName(), getConfig().getExchangeType(), getConfig().isDurable(), getConfig().isAutoDelete(), null); }//from w w w .jav a 2s . co m final String queueName = channel.queueDeclare().getQueue(); channel.queueBind(queueName, getName(), routingKey); channel.basicConsume(queueName, false, getConsumer()); }