com.rabbitmq.client.Connection类的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(12.3k)|赞(0)|评价(0)|浏览(197)

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

Connection介绍

暂无

代码示例

代码示例来源:origin: Graylog2/graylog2-server

public void connect() throws IOException {
  final ConnectionFactory factory = new ConnectionFactory();
  factory.setHost(hostname);
  factory.setPort(port);
  factory.setVirtualHost(virtualHost);
  factory.setRequestedHeartbeat(heartbeatTimeout);
  channel = connection.createChannel();
    channel.basicQos(prefetchCount);
  connection.addShutdownListener(cause -> {
    if (cause.isInitiatedByApplication()) {
      LOG.info("Shutting down AMPQ consumer.");

代码示例来源:origin: apache/incubator-druid

@Override
 public void close() throws IOException
 {
  log.info("Closing connection to RabbitMQ");
  channel.close();
  connection.close();
 }
};

代码示例来源:origin: Graylog2/graylog2-server

public void stop() throws IOException {
  if (channel != null && channel.isOpen()) {
    try {
      channel.close();
    } catch (TimeoutException e) {
      LOG.error("Timeout when closing AMQP channel", e);
      channel.abort();
    }
  }
  if (connection != null && connection.isOpen()) {
    connection.close();
  }
}

代码示例来源:origin: apache/incubator-druid

connection.addShutdownListener(
  new ShutdownListener()
final Channel channel = connection.createChannel();
channel.queueDeclare(queue, durable, exclusive, autoDelete, null);
channel.queueBind(queue, exchange, routingKey);
channel.addShutdownListener(
  new ShutdownListener()

代码示例来源:origin: zendesk/maxwell

public RabbitmqProducer(MaxwellContext context) {
  super(context);
  exchangeName = context.getConfig().rabbitmqExchange;
  props = context.getConfig().rabbitmqMessagePersistent ? MessageProperties.MINIMAL_PERSISTENT_BASIC : null;
  ConnectionFactory factory = new ConnectionFactory();
  factory.setHost(context.getConfig().rabbitmqHost);
  factory.setPort(context.getConfig().rabbitmqPort);
  factory.setUsername(context.getConfig().rabbitmqUser);
  factory.setPassword(context.getConfig().rabbitmqPass);
  factory.setVirtualHost(context.getConfig().rabbitmqVirtualHost);
  try {
    this.channel = factory.newConnection().createChannel();
    if(context.getConfig().rabbitmqDeclareExchange) {
      this.channel.exchangeDeclare(exchangeName, context.getConfig().rabbitmqExchangeType, context.getConfig().rabbitMqExchangeDurable, context.getConfig().rabbitMqExchangeAutoDelete, null);
    }
  } catch (IOException | TimeoutException e) {
    throw new RuntimeException(e);
  }
}

代码示例来源:origin: vector4wang/spring-boot-quick

public static void main(String[] args) {
    try {
      ConnectionFactory factory = new ConnectionFactory();
      factory.setUsername("guest");
      factory.setPassword("guest");
      factory.setHost("60.205.191.82");
      factory.setPort(5672);
      Connection conn = factory.newConnection();
      Channel channel = conn.createChannel();

//            channel.qu
      channel.queueDeclare("hello", false, false, false, null);
      String message = "Hello World!";
      channel.basicPublish("", "hello", null, message.getBytes());
      System.out.println(" [x] Sent '" + message + "'");

      channel.close();
      conn.close();
    } catch (IOException e) {
      e.printStackTrace();
    } catch (TimeoutException e) {
      e.printStackTrace();
    }
  }
}

代码示例来源:origin: testcontainers/testcontainers-java

@Test
public void simpleRabbitMqTest() throws IOException, TimeoutException {
  ConnectionFactory factory = new ConnectionFactory();
  factory.setHost(rabbitMq.getContainerIpAddress());
  factory.setPort(rabbitMq.getMappedPort(RABBITMQ_PORT));
  Connection connection = factory.newConnection();
  Channel channel = connection.createChannel();
  channel.exchangeDeclare(RABBIQMQ_TEST_EXCHANGE, "direct", true);
  String queueName = channel.queueDeclare().getQueue();
  channel.queueBind(queueName, RABBIQMQ_TEST_EXCHANGE, RABBITMQ_TEST_ROUTING_KEY);
  // Set up a consumer on the queue
  final boolean[] messageWasReceived = new boolean[1];
  channel.basicConsume(queueName, false, new DefaultConsumer(channel) {
    @Override
    public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
      messageWasReceived[0] = Arrays.equals(body, RABBITMQ_TEST_MESSAGE.getBytes());
    }
  });
  // post a message
  channel.basicPublish(RABBIQMQ_TEST_EXCHANGE, RABBITMQ_TEST_ROUTING_KEY, null, RABBITMQ_TEST_MESSAGE.getBytes());
  // check the message was received
  assertTrue("The message was received", Unreliables.retryUntilSuccess(5, TimeUnit.SECONDS, () -> {
    if (!messageWasReceived[0]) {
      throw new IllegalStateException("Message not received yet");
    }
    return true;
  }));
}

代码示例来源:origin: sitewhere/sitewhere

@Test
public void doRabbitMQTest() throws Exception {
String exchangeName = "sitewhere";
String queueName = "sitewhere.input";
String routingKey = "sitewhere";
ConnectionFactory factory = new ConnectionFactory();
factory.setUri("amqp://" + HOSTNAME + ":5672");
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
channel.exchangeDeclare(exchangeName, "direct", true);
channel.queueDeclare(queueName, true, false, false, null);
channel.queueBind(queueName, exchangeName, routingKey);
byte[] messageBodyBytes = EventsHelper.generateJsonMeasurementsMessage(DEVICE_TOKEN);
channel.basicPublish(exchangeName, routingKey, null, messageBodyBytes);
channel.close();
connection.close();
}

代码示例来源:origin: berndruecker/flowing-retail-old

public void connect() throws IOException, TimeoutException {
 ConnectionFactory factory = new ConnectionFactory();
 factory.setHost("localhost");
 connection = factory.newConnection();
 channel = connection.createChannel();
 channel.exchangeDeclare(RabbitMqConsumer.EXCHANGE_NAME, "fanout", true); // publish/subscribe model
 System.out.println("Connected to RabbitMQ");
}

代码示例来源:origin: reenWYJ/aude-distributed-spider-framework

public static void main(String[] args) throws IOException, TimeoutException {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost("localhost");
    Connection connection = factory.newConnection();//工厂模式拿到connection
    Channel channel = connection.createChannel();//拿到channel

    channel.queueDeclare(QUEUE_NAME, false, false, false, null);//幂等地声明队列
    String message = "HELLO WORLD!!!";
    channel.basicPublish("", QUEUE_NAME, null, message.getBytes("UTF-8"));//用channel发送消息(因为重要的api都在channel里面)
    System.out.println(" [x] Sent '" + message + "'");

    channel.close();//关闭隧道
    connection.close();//关闭和rabbitmq的server
  }
}

代码示例来源:origin: yacy/yacy_grid_mcp

private void init() throws IOException {
  ConnectionFactory factory = new ConnectionFactory();
  factory.setAutomaticRecoveryEnabled(true);
  factory.setHost(this.server);
  if (this.port > 0) factory.setPort(this.port);
  if (this.username != null && this.username.length() > 0) factory.setUsername(this.username);
  if (this.password != null && this.password.length() > 0) factory.setPassword(this.password);
  try {
    this.connection = factory.newConnection();
    //Map<String, Object> map = this.connection.getServerProperties();
    if (!this.connection.isOpen()) throw new IOException("no connection");
    this.channel = connection.createChannel();
    if (!this.channel.isOpen()) throw new IOException("no channel");
    this.queues = new ConcurrentHashMap<>();
  } catch (TimeoutException e) {
    throw new IOException(e.getMessage());
  }
}

代码示例来源:origin: org.apache.airavata/airavata-messaging-core

private void createConnection() throws AiravataException {
    try {
      ConnectionFactory connectionFactory = new ConnectionFactory();
      connectionFactory.setUri(url);
      connectionFactory.setAutomaticRecoveryEnabled(true);
      connection = connectionFactory.newConnection();
      connection.addShutdownListener(new ShutdownListener() {
        public void shutdownCompleted(ShutdownSignalException cause) {
        }
      });
      log.info("connected to rabbitmq: " + connection + " for " + taskLaunchExchangeName);

      channel = connection.createChannel();
      channel.basicQos(prefetchCount);

//            channel.exchangeDeclare(taskLaunchExchangeName, "fanout");

    } catch (Exception e) {
      String msg = "could not open channel for exchange " + taskLaunchExchangeName;
      log.error(msg);
      throw new AiravataException(msg, e);
    }
  }

代码示例来源:origin: reenWYJ/aude-distributed-spider-framework

public FirstMsgSender(String host, int port, String queueName) throws IOException, TimeoutException {
  super();
  factory.setHost(host);
  factory.setPort(port);
  connection = factory.newConnection();
  channel = connection.createChannel();
  channel.queueDeclare(queueName, true, false, false, null);
  this.queueName = queueName;
}

代码示例来源:origin: NationalSecurityAgency/lemongrenade

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);
}

代码示例来源:origin: apache/apex-malhar

public void setup() throws IOException
{
 logger.debug("setting up receiver..");
 connFactory.setHost(host);
 connection = connFactory.newConnection();
 channel = connection.createChannel();
 channel.exchangeDeclare(exchange, "fanout");
 queueName = channel.queueDeclare().getQueue();
 channel.queueBind(queueName, exchange, "");
 tracingConsumer = new TracingConsumer(channel);
 cTag = channel.basicConsume(queueName, true, tracingConsumer);
}

代码示例来源:origin: zstackio/zstack

void init() {
  try {
    ConnectionFactory connFactory = new ConnectionFactory();
    List<Address> addresses = CollectionUtils.transformToList(bus.getServerIps(), new Function<Address, String>() {
      @Override
      public Address call(String arg) {
        return Address.parseAddress(arg);
      }
    });
    conn = connFactory.newConnection(addresses.toArray(new Address[]{}));
    chan = conn.createChannel();
    String name = MessageTracker.class.getName();
    chan.queueDeclare(name, true, false, true, null);
    chan.basicConsume(name, true, this);
    chan.queueBind(name, BusExchange.P2P.toString(), "#");
    chan.queueBind(name, BusExchange.BROADCAST.toString(), "#");
  } catch (Exception e) {
    throw new CloudRuntimeException(e);
  }
}

代码示例来源:origin: imalexyang/ExamStack

@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;
}

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

@Test
public void test(ConnectionFactory connectionFactory) throws Exception {
  Connection conn = connectionFactory.newConnection();
  Channel channel = conn.createChannel();
  DeclareOk declareOk = channel.queueDeclarePassive("rabbitAvailableTests.queue");
  assertEquals(0, declareOk.getConsumerCount());
  channel.close();
  conn.close();
}

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

@Test
public void testAck() throws Exception {
  Channel channel = mock(Channel.class);
  willReturn(true).given(channel).isOpen();
  Envelope envelope = new Envelope(123L, false, "ex", "rk");
  BasicProperties props = new BasicProperties.Builder().build();
  GetResponse getResponse = new GetResponse(envelope, props, "bar".getBytes(), 0);
  willReturn(getResponse).given(channel).basicGet("foo", false);
  Connection connection = mock(Connection.class);
  willReturn(true).given(connection).isOpen();
  willReturn(channel).given(connection).createChannel();
  ConnectionFactory connectionFactory = mock(ConnectionFactory.class);
  willReturn(connection).given(connectionFactory).newConnection((ExecutorService) isNull(), anyString());
  verify(connection, times(2)).createChannel();
  StaticMessageHeaderAccessor.getAcknowledgmentCallback(received)
      .acknowledge(Status.ACCEPT);
  verify(channel).basicAck(123L, false);
  Channel cached = conn.createChannel(false); // should have been "closed"
  verify(connection, times(2)).createChannel();
  notCached.close();
  cached.close();
  ccf.destroy();
  verify(channel, times(2)).close();
  verify(connection).close(30000);

代码示例来源:origin: org.apache.airavata/airavata-messenger-client

public void Send(OMElement message) throws AMQPException {
    try {
      if (isRoutable(message)) {
        Connection connection = connectionFactory.newConnection();
        Channel channel = connection.createChannel();
        channel.exchangeDeclare(AMQPUtil.EXCHANGE_NAME_FANOUT, AMQPUtil.EXCHANGE_TYPE_FANOUT);

        channel.basicPublish(AMQPUtil.EXCHANGE_NAME_FANOUT, "", null, message.toString().getBytes());

        channel.close();
        connection.close();
      }
    } catch (IOException e) {
      throw new AMQPException(e);
    }
  }
}

相关文章