Tabnine Logo
DirectMessageListenerContainer.setConsumersPerQueue
Code IndexAdd Tabnine to your IDE (free)

How to use
setConsumersPerQueue
method
in
org.springframework.amqp.rabbit.listener.DirectMessageListenerContainer

Best Java code snippets using org.springframework.amqp.rabbit.listener.DirectMessageListenerContainer.setConsumersPerQueue (Showing top 20 results out of 315)

origin: spring-projects/spring-integration

/**
 * @param consumersPerQueue the consumersPerQueue.
 * @return the spec.
 * @see DirectMessageListenerContainer#setConsumersPerQueue(int)
 */
public DirectMessageListenerContainerSpec consumersPerQueue(int consumersPerQueue) {
  this.listenerContainer.setConsumersPerQueue(consumersPerQueue);
  return this;
}
origin: org.springframework.integration/spring-integration-amqp

/**
 * @param consumersPerQueue the consumersPerQueue.
 * @return the spec.
 * @see DirectMessageListenerContainer#setConsumersPerQueue(int)
 */
public DirectMessageListenerContainerSpec consumersPerQueue(int consumersPerQueue) {
  this.listenerContainer.setConsumersPerQueue(consumersPerQueue);
  return this;
}
origin: spring-projects/spring-integration

dmlc.setConsumersPerQueue(this.consumersPerQueue);
container = dmlc;
origin: org.springframework.amqp/spring-rabbit

@Override
protected void processMonitorTask() {
  long now = System.currentTimeMillis();
  synchronized (this.consumersMonitor) {
    long reduce = this.consumers.stream()
      .filter(c -> this.whenUsed.containsKey(c) && !this.inUseConsumerChannels.containsValue(c)
          && this.whenUsed.get(c) < now - getIdleEventInterval())
      .count();
    if (reduce > 0) {
      if (logger.isDebugEnabled()) {
        logger.debug("Reducing idle consumes by " + reduce);
      }
      this.consumerCount = (int) Math.max(0, this.consumerCount - reduce);
      super.setConsumersPerQueue(this.consumerCount);
    }
  }
}
origin: spring-projects/spring-amqp

@Override
protected void processMonitorTask() {
  long now = System.currentTimeMillis();
  synchronized (this.consumersMonitor) {
    long reduce = this.consumers.stream()
      .filter(c -> this.whenUsed.containsKey(c) && !this.inUseConsumerChannels.containsValue(c)
          && this.whenUsed.get(c) < now - getIdleEventInterval())
      .count();
    if (reduce > 0) {
      if (logger.isDebugEnabled()) {
        logger.debug("Reducing idle consumes by " + reduce);
      }
      this.consumerCount = (int) Math.max(0, this.consumerCount - reduce);
      super.setConsumersPerQueue(this.consumerCount);
    }
  }
}
origin: spring-projects/spring-amqp

@Override
protected void doStart() {
  if (!isRunning()) {
    this.consumerCount = 0;
    super.setConsumersPerQueue(0);
    super.doStart();
  }
}
origin: org.springframework.amqp/spring-rabbit

@Override
protected void doStart() {
  if (!isRunning()) {
    this.consumerCount = 0;
    super.setConsumersPerQueue(0);
    super.doStart();
  }
}
origin: org.springframework.amqp/spring-rabbit

@Override
protected void initializeContainer(DirectMessageListenerContainer instance, RabbitListenerEndpoint endpoint) {
  super.initializeContainer(instance, endpoint);
  if (this.taskScheduler != null) {
    instance.setTaskScheduler(this.taskScheduler);
  }
  if (this.monitorInterval != null) {
    instance.setMonitorInterval(this.monitorInterval);
  }
  if (endpoint != null && endpoint.getConcurrency() != null) {
    try {
      instance.setConsumersPerQueue(Integer.parseInt(endpoint.getConcurrency()));
    }
    catch (NumberFormatException e) {
      throw new IllegalStateException("Failed to parse concurrency: " + e.getMessage(), e);
    }
  }
  else if (this.consumersPerQueue != null) {
    instance.setConsumersPerQueue(this.consumersPerQueue);
  }
}
origin: spring-projects/spring-amqp

public DirectReplyToMessageListenerContainer(ConnectionFactory connectionFactory) {
  super(connectionFactory);
  super.setQueueNames(Address.AMQ_RABBITMQ_REPLY_TO);
  setAcknowledgeMode(AcknowledgeMode.NONE);
  super.setConsumersPerQueue(0);
  super.setIdleEventInterval(DEFAULT_IDLE);
}
origin: org.springframework.amqp/spring-rabbit

public DirectReplyToMessageListenerContainer(ConnectionFactory connectionFactory) {
  super(connectionFactory);
  super.setQueueNames(Address.AMQ_RABBITMQ_REPLY_TO);
  setAcknowledgeMode(AcknowledgeMode.NONE);
  super.setConsumersPerQueue(0);
  super.setIdleEventInterval(DEFAULT_IDLE);
}
origin: spring-projects/spring-amqp

/**
 * Get the channel holder associated with a direct reply-to consumer; contains a
 * consumer epoch to prevent inappropriate releases.
 * @return the channel holder.
 */
public ChannelHolder getChannelHolder() {
  synchronized (this.consumersMonitor) {
    ChannelHolder channelHolder = null;
    while (channelHolder == null) {
      if (!isRunning()) {
        throw new IllegalStateException("Direct reply-to container is not running");
      }
      for (SimpleConsumer consumer : this.consumers) {
        Channel candidate = consumer.getChannel();
        if (candidate.isOpen() && this.inUseConsumerChannels.putIfAbsent(candidate, consumer) == null) {
          channelHolder = new ChannelHolder(candidate, consumer.incrementAndGetEpoch());
          this.whenUsed.put(consumer, System.currentTimeMillis());
          break;
        }
      }
      if (channelHolder == null) {
        this.consumerCount++;
        super.setConsumersPerQueue(this.consumerCount);
      }
    }
    return channelHolder;
  }
}
origin: spring-projects/spring-amqp

@Override
protected void initializeContainer(DirectMessageListenerContainer instance, RabbitListenerEndpoint endpoint) {
  super.initializeContainer(instance, endpoint);
  if (this.taskScheduler != null) {
    instance.setTaskScheduler(this.taskScheduler);
  }
  if (this.monitorInterval != null) {
    instance.setMonitorInterval(this.monitorInterval);
  }
  if (endpoint != null && endpoint.getConcurrency() != null) {
    try {
      instance.setConsumersPerQueue(Integer.parseInt(endpoint.getConcurrency()));
    }
    catch (NumberFormatException e) {
      throw new IllegalStateException("Failed to parse concurrency: " + e.getMessage(), e);
    }
  }
  else if (this.consumersPerQueue != null) {
    instance.setConsumersPerQueue(this.consumersPerQueue);
  }
  if (this.messagesPerAck != null) {
    instance.setMessagesPerAck(this.messagesPerAck);
  }
  if (this.ackTimeout != null) {
    instance.setAckTimeout(this.ackTimeout);
  }
}
origin: org.springframework.amqp/spring-rabbit

/**
 * Get the channel holder associated with a direct reply-to consumer; contains a
 * consumer epoch to prevent inappropriate releases.
 * @return the channel holder.
 */
public ChannelHolder getChannelHolder() {
  synchronized (this.consumersMonitor) {
    ChannelHolder channelHolder = null;
    while (channelHolder == null) {
      if (!isRunning()) {
        throw new IllegalStateException("Direct reply-to container is not running");
      }
      for (SimpleConsumer consumer : this.consumers) {
        Channel candidate = consumer.getChannel();
        if (candidate.isOpen() && this.inUseConsumerChannels.putIfAbsent(candidate, consumer) == null) {
          channelHolder = new ChannelHolder(candidate, consumer.incrementAndGetEpoch());
          this.whenUsed.put(consumer, System.currentTimeMillis());
          break;
        }
      }
      if (channelHolder == null) {
        this.consumerCount++;
        super.setConsumersPerQueue(this.consumerCount);
      }
    }
    return channelHolder;
  }
}
origin: spring-projects/spring-amqp

@Test
public void testAdvice() throws Exception {
  CachingConnectionFactory cf = new CachingConnectionFactory("localhost");
  DirectMessageListenerContainer container = new DirectMessageListenerContainer(cf);
  container.setQueueNames(Q1, Q2);
  container.setConsumersPerQueue(2);
  final CountDownLatch latch = new CountDownLatch(2);
  container.setMessageListener(m -> latch.countDown());
  final CountDownLatch adviceLatch = new CountDownLatch(2);
  MethodInterceptor advice = i -> {
    adviceLatch.countDown();
    return i.proceed();
  };
  container.setAdviceChain(advice);
  container.setBeanName("advice");
  container.setConsumerTagStrategy(new Tag());
  container.afterPropertiesSet();
  container.start();
  RabbitTemplate template = new RabbitTemplate(cf);
  template.convertAndSend(Q1, "foo");
  template.convertAndSend(Q1, "bar");
  assertTrue(latch.await(10, TimeUnit.SECONDS));
  assertTrue(adviceLatch.await(10, TimeUnit.SECONDS));
  container.stop();
  assertTrue(consumersOnQueue(Q1, 0));
  assertTrue(consumersOnQueue(Q2, 0));
  assertTrue(activeConsumerCount(container, 0));
  assertEquals(0, TestUtils.getPropertyValue(container, "consumersByQueue", MultiValueMap.class).size());
  cf.destroy();
}
origin: spring-projects/spring-amqp

DirectMessageListenerContainer container = new DirectMessageListenerContainer(cf);
container.setQueueNames(Q1, Q2);
container.setConsumersPerQueue(4);
container.setMessageListener(new MessageListenerAdapter((ReplyingMessageListener<String, String>) in -> {
  if ("foo".equals(in) || "bar".equals(in)) {
assertTrue(consumersOnQueue(Q1, 4));
assertTrue(consumersOnQueue(Q2, 4));
container.setConsumersPerQueue(1);
assertTrue(consumersOnQueue(Q1, 1));
assertTrue(consumersOnQueue(Q2, 1));
container.setConsumersPerQueue(2);
assertTrue(consumersOnQueue(Q1, 2));
assertTrue(consumersOnQueue(Q2, 2));
origin: spring-projects/spring-amqp

DirectMessageListenerContainer container = new DirectMessageListenerContainer(cf);
container.setQueueNames(Q1, Q2);
container.setConsumersPerQueue(2);
container.setMessageListener(new MessageListenerAdapter((ReplyingMessageListener<String, String>) in -> {
  if ("foo".equals(in) || "bar".equals(in)) {
origin: spring-projects/spring-amqp

DirectMessageListenerContainer container = new DirectMessageListenerContainer(cf);
container.setQueueNames(Q1);
container.setConsumersPerQueue(2);
final AtomicReference<Channel> channel = new AtomicReference<>();
container.setMessageListener((ChannelAwareMessageListener) (m, c) -> {
origin: spring-projects/spring-amqp

container.setConsumersPerQueue(2);
container.setConsumersPerQueue(2);
container.setMessageListener(m -> { });
container.setFailedDeclarationRetryInterval(500);
origin: spring-projects/spring-amqp

cf.setExecutor(executor);
DirectMessageListenerContainer container = new DirectMessageListenerContainer(cf);
container.setConsumersPerQueue(2);
container.setMessageListener(new MessageListenerAdapter((ReplyingMessageListener<String, String>) in -> {
  if ("foo".equals(in) || "bar".equals(in)) {
origin: spring-projects/spring-amqp

cf.setExecutor(executor);
DirectMessageListenerContainer container = new DirectMessageListenerContainer(cf);
container.setConsumersPerQueue(2);
container.setMessageListener(new MessageListenerAdapter((ReplyingMessageListener<String, String>) in -> {
  if ("foo".equals(in) || "bar".equals(in)) {
org.springframework.amqp.rabbit.listenerDirectMessageListenerContainersetConsumersPerQueue

Javadoc

Each queue runs in its own consumer; set this property to create multiple consumers for each queue. If the container is already running, the number of consumers per queue will be adjusted up or down as necessary.

Popular methods of DirectMessageListenerContainer

  • <init>
    Create an instance with the provided connection factory.
  • setAckTimeout
    An approximate timeout; when #setMessagesPerAck(int) is greater than 1, and this time elapses since
  • setMessagesPerAck
    Set the number of messages to receive before acknowledging (success). A failed message will short-ci
  • addQueues
  • afterPropertiesSet
  • getAcknowledgeMode
  • getConnectionFactory
  • getQueueNames
  • isActive
  • isRunning
  • removeQueues
  • setIdleEventInterval
  • removeQueues,
  • setIdleEventInterval,
  • setMessageListener,
  • setMissingQueuesFatal,
  • setMonitorInterval,
  • setPrefetchCount,
  • setQueueNames,
  • actualShutDown,
  • actualStart

Popular in Java

  • Start an intent from android
  • compareTo (BigDecimal)
  • getSystemService (Context)
  • getApplicationContext (Context)
  • Menu (java.awt)
  • Thread (java.lang)
    A thread is a thread of execution in a program. The Java Virtual Machine allows an application to ha
  • LinkedList (java.util)
    Doubly-linked list implementation of the List and Dequeinterfaces. Implements all optional list oper
  • Queue (java.util)
    A collection designed for holding elements prior to processing. Besides basic java.util.Collection o
  • TimeZone (java.util)
    TimeZone represents a time zone offset, and also figures out daylight savings. Typically, you get a
  • Manifest (java.util.jar)
    The Manifest class is used to obtain attribute information for a JarFile and its entries.
  • Top PhpStorm plugins
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now