org.springframework.amqp.core.Binding.getDestination()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(8.6k)|赞(0)|评价(0)|浏览(134)

本文整理了Java中org.springframework.amqp.core.Binding.getDestination()方法的一些代码示例,展示了Binding.getDestination()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Binding.getDestination()方法的具体详情如下:
包路径:org.springframework.amqp.core.Binding
类名称:Binding
方法名:getDestination

Binding.getDestination介绍

暂无

代码示例

代码示例来源:origin: spring-projects/spring-amqp

private boolean isImplicitQueueBinding(Binding binding) {
  return isDefaultExchange(binding.getExchange()) && binding.getDestination().equals(binding.getRoutingKey());
}

代码示例来源:origin: org.springframework.amqp/spring-rabbit

private void declareBindings(final Channel channel, final Binding... bindings) throws IOException {
  for (Binding binding : bindings) {
    if (this.logger.isDebugEnabled()) {
      this.logger.debug("Binding destination [" + binding.getDestination() + " (" + binding.getDestinationType()
          + ")] to exchange [" + binding.getExchange() + "] with routing key [" + binding.getRoutingKey()
          + "]");
    }
    try {
      if (binding.isDestinationQueue()) {
        if (!isDeclaringImplicitQueueBinding(binding)) {
          channel.queueBind(binding.getDestination(), binding.getExchange(), binding.getRoutingKey(),
              binding.getArguments());
        }
      }
      else {
        channel.exchangeBind(binding.getDestination(), binding.getExchange(), binding.getRoutingKey(),
            binding.getArguments());
      }
    }
    catch (IOException e) {
      logOrRethrowDeclarationException(binding, "binding", e);
    }
  }
}

代码示例来源:origin: spring-projects/spring-amqp

private void declareBindings(final Channel channel, final Binding... bindings) throws IOException {
  for (Binding binding : bindings) {
    if (this.logger.isDebugEnabled()) {
      this.logger.debug("Binding destination [" + binding.getDestination() + " (" + binding.getDestinationType()
          + ")] to exchange [" + binding.getExchange() + "] with routing key [" + binding.getRoutingKey()
          + "]");
    }
    try {
      if (binding.isDestinationQueue()) {
        if (!isDeclaringImplicitQueueBinding(binding)) {
          channel.queueBind(binding.getDestination(), binding.getExchange(), binding.getRoutingKey(),
              binding.getArguments());
        }
      }
      else {
        channel.exchangeBind(binding.getDestination(), binding.getExchange(), binding.getRoutingKey(),
            binding.getArguments());
      }
    }
    catch (IOException e) {
      logOrRethrowDeclarationException(binding, "binding", e);
    }
  }
}

代码示例来源:origin: org.springframework.amqp/spring-rabbit

private boolean isImplicitQueueBinding(Binding binding) {
  return isDefaultExchange(binding.getExchange()) && binding.getDestination().equals(binding.getRoutingKey());
}

代码示例来源:origin: spring-projects/spring-amqp

@Test
public void fanoutBinding() {
  FanoutExchange fanoutExchange = new FanoutExchange("f");
  Binding binding = BindingBuilder.bind(queue).to(fanoutExchange);
  assertNotNull(binding);
  assertEquals(fanoutExchange.getName(), binding.getExchange());
  assertEquals("", binding.getRoutingKey());
  assertEquals(Binding.DestinationType.QUEUE, binding.getDestinationType());
  assertEquals(queue.getName(), binding.getDestination());
}

代码示例来源:origin: com.dell.cpsd/common-rabbitmq

bindings.stream().filter(b -> q.getName().equals(b.getDestination())).forEach(b ->
      exchangeToBindingMap.put(b.getExchange(), exchangeBinding);
    exchangeBinding.add(new BindingDataDto(b.getDestination(), b.getRoutingKey()));
  });
});

代码示例来源:origin: spring-projects/spring-amqp

@Test
public void directBinding() {
  DirectExchange directExchange = new DirectExchange("d");
  String routingKey = "r";
  Binding binding = BindingBuilder.bind(queue).to(directExchange).with(routingKey);
  assertNotNull(binding);
  assertEquals(directExchange.getName(), binding.getExchange());
  assertEquals(Binding.DestinationType.QUEUE, binding.getDestinationType());
  assertEquals(queue.getName(), binding.getDestination());
  assertEquals(routingKey, binding.getRoutingKey());
}

代码示例来源:origin: com.dell.cpsd.common.messaging/common-rabbitmq

bindings.stream().filter(b -> q.getName().equals(b.getDestination())).forEach(b ->
      exchangeToBindingMap.put(b.getExchange(), exchangeBinding);
    exchangeBinding.add(new BindingDataDto(b.getDestination(), b.getRoutingKey()));
  });
});

代码示例来源:origin: spring-projects/spring-amqp

@Test
public void topicBinding() {
  TopicExchange topicExchange = new TopicExchange("t");
  String routingKey = "r";
  Binding binding = BindingBuilder.bind(queue).to(topicExchange).with(routingKey);
  assertNotNull(binding);
  assertEquals(topicExchange.getName(), binding.getExchange());
  assertEquals(Binding.DestinationType.QUEUE, binding.getDestinationType());
  assertEquals(queue.getName(), binding.getDestination());
  assertEquals(routingKey, binding.getRoutingKey());
}

代码示例来源:origin: spring-projects/spring-amqp

@Test
public void testBindings() throws Exception {
  Map<String, Binding> bindings = beanFactory.getBeansOfType(Binding.class);
  // 4 for each exchange type
  assertEquals(13, bindings.size());
  for (Map.Entry<String, Binding> bindingEntry : bindings.entrySet()) {
    Binding binding = bindingEntry.getValue();
    if ("headers-test".equals(binding.getExchange()) && "bucket".equals(binding.getDestination())) {
      Map<String, Object> arguments = binding.getArguments();
      assertEquals(3, arguments.size());
      break;
    }
  }
}

代码示例来源:origin: spring-projects/spring-amqp

@Test
public void exchangeBinding() {
  DirectExchange directExchange = new DirectExchange("d");
  FanoutExchange fanoutExchange = new FanoutExchange("f");
  Binding binding = BindingBuilder.bind(directExchange).to(fanoutExchange);
  assertNotNull(binding);
  assertEquals(fanoutExchange.getName(), binding.getExchange());
  assertEquals(Binding.DestinationType.EXCHANGE, binding.getDestinationType());
  assertEquals(directExchange.getName(), binding.getDestination());
  assertEquals("", binding.getRoutingKey());
}

代码示例来源:origin: org.springframework.amqp/spring-rabbit

@Override
@ManagedOperation(description =
    "Remove a binding from the broker (this operation is not available remotely)")
public void removeBinding(final Binding binding) {
  this.rabbitTemplate.execute(channel -> {
    if (binding.isDestinationQueue()) {
      if (isRemovingImplicitQueueBinding(binding)) {
        return null;
      }
      channel.queueUnbind(binding.getDestination(), binding.getExchange(), binding.getRoutingKey(),
          binding.getArguments());
    }
    else {
      channel.exchangeUnbind(binding.getDestination(), binding.getExchange(), binding.getRoutingKey(),
          binding.getArguments());
    }
    return null;
  });
}

代码示例来源:origin: spring-projects/spring-amqp

@Test
public void customBinding() {
  class CustomExchange extends AbstractExchange {
    CustomExchange(String name) {
      super(name);
    }
    @Override
    public String getType() {
      return "x-custom";
    }
  }
  Object argumentObject = new Object();
  CustomExchange customExchange = new CustomExchange("c");
  String routingKey = "r";
  Binding binding = BindingBuilder.//
      bind(queue).//
      to(customExchange).//
      with(routingKey).//
      and(Collections.<String, Object>singletonMap("k", argumentObject));
  assertNotNull(binding);
  assertEquals(argumentObject, binding.getArguments().get("k"));
  assertEquals(customExchange.getName(), binding.getExchange());
  assertEquals(Binding.DestinationType.QUEUE, binding.getDestinationType());
  assertEquals(queue.getName(), binding.getDestination());
  assertEquals(routingKey, binding.getRoutingKey());
}

代码示例来源:origin: spring-projects/spring-amqp

@Override
@ManagedOperation(description =
    "Remove a binding from the broker (this operation is not available remotely)")
public void removeBinding(final Binding binding) {
  this.rabbitTemplate.execute(channel -> {
    if (binding.isDestinationQueue()) {
      if (isRemovingImplicitQueueBinding(binding)) {
        return null;
      }
      channel.queueUnbind(binding.getDestination(), binding.getExchange(), binding.getRoutingKey(),
          binding.getArguments());
    }
    else {
      channel.exchangeUnbind(binding.getDestination(), binding.getExchange(), binding.getRoutingKey(),
          binding.getArguments());
    }
    return null;
  });
}

代码示例来源:origin: spring-projects/spring-amqp

@Test
public void directBindingWithQueueName() {
  DirectExchange directExchange = new DirectExchange("d");
  Binding binding = BindingBuilder.bind(queue).to(directExchange).withQueueName();
  assertNotNull(binding);
  assertEquals(directExchange.getName(), binding.getExchange());
  assertEquals(Binding.DestinationType.QUEUE, binding.getDestinationType());
  assertEquals(queue.getName(), binding.getDestination());
  assertEquals(queue.getName(), binding.getRoutingKey());
}

代码示例来源:origin: spring-projects/spring-amqp

@Test
public void headerBinding() {
  HeadersExchange headersExchange = new HeadersExchange("h");
  String headerKey = "headerKey";
  Binding binding = BindingBuilder.bind(queue).to(headersExchange).where(headerKey).exists();
  assertNotNull(binding);
  assertEquals(headersExchange.getName(), binding.getExchange());
  assertEquals(Binding.DestinationType.QUEUE, binding.getDestinationType());
  assertEquals(queue.getName(), binding.getDestination());
  assertEquals("", binding.getRoutingKey());
}

相关文章