Refine search
@Override public void open(Configuration config) throws Exception { super.open(config); ConnectionFactory factory = setupConnectionFactory(); try { connection = factory.newConnection(); channel = connection.createChannel(); if (channel == null) { throw new RuntimeException("None of RabbitMQ channels are available"); } setupQueue(); consumer = new QueueingConsumer(channel); RuntimeContext runtimeContext = getRuntimeContext(); if (runtimeContext instanceof StreamingRuntimeContext && ((StreamingRuntimeContext) runtimeContext).isCheckpointingEnabled()) { autoAck = false; // enables transaction mode channel.txSelect(); } else { autoAck = true; } LOG.debug("Starting RabbitMQ source with autoAck status: " + autoAck); channel.basicConsume(queueName, autoAck, consumer); } catch (IOException e) { throw new RuntimeException("Cannot create RMQ connection with " + queueName + " at " + rmqConnectionConfig.getHost(), e); } running = true; }
@Override public void run(SourceContext<OUT> ctx) throws Exception { while (running) { QueueingConsumer.Delivery delivery = consumer.nextDelivery(); synchronized (ctx.getCheckpointLock()) { OUT result = schema.deserialize(delivery.getBody()); if (schema.isEndOfStream(result)) { break; } if (!autoAck) { final long deliveryTag = delivery.getEnvelope().getDeliveryTag(); if (usesCorrelationId) { final String correlationId = delivery.getProperties().getCorrelationId(); Preconditions.checkNotNull(correlationId, "RabbitMQ source was instantiated " + "with usesCorrelationId set to true but a message was received with " + "correlation id set to null!"); if (!addId(correlationId)) { // we have already processed this message continue; } } sessionIds.add(deliveryTag); } ctx.collect(result); } } }
public GetDeadLetterMessages(String queueName) throws Exception { this.queueName = queueName; factory = new ConnectionFactory(); factory.setHost(rabbitmq_host); connection = factory.newConnection(); channel = connection.createChannel(); //Add Dead letter queue channel.exchangeDeclare(queueName, "fanout", true); channel.queueDeclare(queueName, true, false, false, null); channel.queueBind(queueName, queueName, ""); consumer = new QueueingConsumer(channel); }
public static void main(String[] args) throws Exception { Channel channel = AMQPCommon.connect(); QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicQos(1); channel.basicConsume("trade.eq.q", false, consumer); while (true) { QueueingConsumer.Delivery msg = consumer.nextDelivery(); System.out.println("message received: " + new String(msg.getBody())); Thread.sleep(2000); channel.basicAck(msg.getEnvelope().getDeliveryTag(), false); } } }
String routingKey = ""; channel.exchangeDeclare(exchangeName, type, durable); channel.queueDeclare(queueName, durable, exclusive, autoDelete, null); channel.queueBind(queueName, exchangeName, routingKey); QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicQos(getPrefetchCount()); channel.basicConsume(queueName, autoAck, consumer); try { QueueingConsumer.Delivery delivery; delivery = consumer.nextDelivery(DELIVERY_WAIT_TIMEOUT); if(null == delivery) continue; byte[] bobyByte = delivery.getBody(); String bodyStr = new String(bobyByte, this.getEncoding());//"US-ASCII", "utf-8" channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false); _logger.debug("ack meg:" + delivery.getEnvelope().getDeliveryTag());
public void execute() throws Exception { Channel channel = AMQPCommon.connect(); QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicConsume("workflow.q", true, consumer); while (true) { QueueingConsumer.Delivery message = consumer.nextDelivery(); String msg = new String(message.getBody()); System.out.println("message received: " + msg); String newMsg = msg.substring(0, msg.indexOf(" shares")); byte[] bmsg = newMsg.getBytes(); System.out.println("Trade fixed: " + newMsg); channel.basicPublish("", "trade.eq.q", null, bmsg); } }
public static void main(String[] args) throws Exception { Channel channel = AMQPCommon.connect(); QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicConsume("music.q", true, consumer); while (true) { QueueingConsumer.Delivery msg = consumer.nextDelivery(); System.out.println("PROCESSING MUSIC ORDER: " + new String(msg.getBody())); Thread.sleep(2000); } } }
try { _Channel.exchangeDeclarePassive(_ExchangeName); _QueueName = _Channel.queueDeclare().getQueue(); _Channel.queueBind(_QueueName, _ExchangeName, topic); _Consumer = new QueueingConsumer(_Channel); _Channel.basicConsume(_QueueName, false, _Consumer); }catch( Exception ex ) { delivery = _Consumer.nextDelivery(); _CounterGroup.incrementAndGet(RabbitMQConstants.COUNTER_GET); Map<String, String> properties = RabbitMQUtil.getHeaders(delivery.getProperties()); Event event = new SimpleEvent(); event.setBody(delivery.getBody()); event.setHeaders(properties); _Channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false); _CounterGroup.incrementAndGet(RabbitMQConstants.COUNTER_ACK); } catch(Exception ex){
channel.basicPublish("", queueName, null, msg.getBytes()); } else { if (routingKey != null) { exchangeName = "topic-exchange"; channel.basicPublish(exchangeName, routingKey, null, msg.getBytes()); exchangeName = "subscriber-exchange"; channel.basicPublish(exchangeName, "", null, msg.getBytes()); queueName = "ConsumerProxy"; QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicConsume(queueName, true, consumer); QueueingConsumer.Delivery delivery = consumer.nextDelivery(); String message = new String(delivery.getBody()); System.out.println("[x] received '" + message + "'");
channel = conn.createChannel(); if (Visage.debug) Visage.log.finer("Setting up queue '"+queue+"'"); channel.queueDeclare(queue, false, false, true, null); channel.basicQos(1); replyQueue = channel.queueDeclare().getQueue(); consumer = new QueueingConsumer(channel); channel.basicConsume(replyQueue, consumer); try { while (run) { Delivery delivery = consumer.nextDelivery(); if (Visage.trace) Visage.log.finest("Got delivery"); try { String corrId = delivery.getProperties().getCorrelationId(); if (queuedJobs.containsKey(corrId)) { if (Visage.trace) Visage.log.finest("Valid"); responses.put(corrId, delivery.getBody()); Runnable run = queuedJobs.get(corrId); queuedJobs.remove(corrId); run.run(); if (Visage.trace) Visage.log.finest("Ran runnable"); channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false); if (Visage.trace) Visage.log.finest("Ack'd"); } else {
public MQReceiver(String host, int port, String queue_name, int qos) throws IOException, TimeoutException { super(host, port, queue_name); channel.basicQos(qos); consumer = new QueueingConsumer(channel); channel.basicConsume(queue_name, false, consumer); }
@Override public Outcome read() { final IRawDataProcessor rawDataProcessor = this.processor; try { this.channel.basicConsume(this.queueName, true, this.consumer); while (!this.terminated) { // Read the next message and dispatch the received data to the processor final QueueingConsumer.Delivery delivery = this.consumer.nextDelivery(); final byte[] body = delivery.getBody(); rawDataProcessor.decodeAndDeliverRecords(body); } } catch (final IOException e) { LOGGER.error("Error while reading from queue {}", this.queueName, e); return Outcome.FAILURE; } catch (final InterruptedException e) { LOGGER.error("Consumer was interrupted on queue {}", this.queueName, e); return Outcome.FAILURE; } return Outcome.SUCCESS; }
@Bean QueueingConsumer queueingConsumer() throws IOException { ConnectionFactory factory = new ConnectionFactory(); factory.setHost(messageQueueHostname); Connection connection = factory.newConnection(); Channel channel = connection.createChannel(); channel.queueDeclare(Constants.ANSWERSHEET_DATA_QUEUE, true, false, false, null); QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicConsume(Constants.ANSWERSHEET_DATA_QUEUE, true, consumer); return consumer; }
String queueName = NOTICE_QUEUE_NAME_PREFIX + RandomHelper.randomNumberAndCharacter(5); innerChannel.queueDeclare(queueName, false, true, true, null); innerChannel.queueBind(queueName, INNER_EXCHANGE_NAME, NOTICE_ROUTING_KEY_NAME, matchHeader); NOTICE_CONSUMER_TAG_PREFIX + randomTag); while (true) { QueueingConsumer.Delivery delivery = consumer.nextDelivery();
queueingConsumer = new QueueingConsumer(getChannel()); queueName = rabbitMQProperties.get(RabbitMQConstants.QUEUE_NAME); routeKey = rabbitMQProperties.get(RabbitMQConstants.QUEUE_ROUTING_KEY); ", with channel(hashcode) - " + queueingConsumer.getChannel().hashCode()); RabbitMQUtils.declareQueue(queueingConsumer.getChannel(), queueName, rabbitMQProperties); RabbitMQUtils.declareExchange(queueingConsumer.getChannel(), exchangeName, rabbitMQProperties); queueingConsumer.getChannel().queueBind(queueName, exchangeName, routeKey); if (log.isDebugEnabled()) { log.debug("Bind queue '" + queueName + "' to exchange '" + exchangeName + "' with route key '" + queueingConsumer.getChannel().basicConsume(queueName, autoAck, consumerTagString, queueingConsumer); if (log.isDebugEnabled()) { log.debug("Start consuming queue '" + queueName + "' with consumer tag '" + consumerTagString + consumerTagString = queueingConsumer.getChannel().basicConsume(queueName, autoAck, queueingConsumer); if (log.isDebugEnabled()) { log.debug("Start consuming queue '" + queueName + "' with consumer tag '" + consumerTagString +
public MQItem recv() throws InterruptedException, IOException { QueueingConsumer.Delivery delivery = consumer.nextDelivery(); MQItem item = gson.fromJson(new String(delivery.getBody()), MQItem.class); channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false); return item; }
public void close() { try { if (channel != null && channel.isOpen()) { if (consumerTag != null) channel.basicCancel(consumerTag); channel.close(); consumer.getChannel().close();
while(!stopSignal || (delivery = consumer.nextDelivery(250)) != null) { curQuad = new Object2Quad(toTripleStmt(new String(delivery.getBody()))); } finally { try { if(channel.isOpen()) { channel.close();
channel = queueingConsumer.getChannel(); try { if (channel.isOpen()) { channel.close(); log.info("RabbitMQ consumer channel closed for service " + serviceName + ", Listner id - " + Thread.currentThread().getId()); if (channel.getConnection() != null && channel.getConnection().isOpen()) { channel.getConnection().close(); log.info("RabbitMQ consumer connection closed for service " + serviceName + ", Listner id - " +
public DualChannelPool(RabbitMQConnectionFactory connectionFactory, int connectionPoolSize) { dualChannelPool = new LinkedBlockingDeque<>(); try { Connection connection = connectionFactory.createConnection(); for (int i = 0; i < connectionPoolSize; i++) { Channel channel = connection.createChannel(); QueueingConsumer consumer = new QueueingConsumer(channel); String replyQueueName = channel.queueDeclare().getQueue(); dualChannelPool.add(new DualChannel(connection, channel, consumer, replyQueueName)); } } catch (IOException e) { throw new AxisRabbitMQException("Error creating dual channel pool", e); } }