为了账号安全,请及时绑定邮箱和手机立即绑定

消息队列源码剖析资料:新手入门详解

标签:
中间件 源码
概述

本文深入探讨了消息队列的基础概念、应用场景、开发环境搭建及源码剖析,旨在帮助开发者全面理解并有效应用消息队列。文章详细介绍了消息队列的核心组件、常见系统如RabbitMQ、Kafka和ActiveMQ的安装与配置,以及消息生产者与消费者模型的实现。此外,文中还提供了丰富的消息队列源码剖析资料,帮助读者深入理解消息队列的内部机制。

消息队列基础概念

消息队列的基本定义

消息队列是一种在软件应用中实现异步通信的技术。它通过在发送者和接收者之间建立一个中间层,使得发送者无需等待接收者的响应,而可以继续进行其他操作。消息队列提供了一种可靠且高效的方式来管理异步通信任务,广泛应用于分布式系统、微服务架构和事件驱动的应用开发中。

消息队列的核心组件包括生产者、消息队列和消费者。生产者负责将消息发送到队列中,而消费者则从队列中消费消息。消息队列提供了一定程度的数据持久化和负载均衡能力,能够确保即使在高并发和高负载场景下也能保持系统的稳定性和可靠性。

import org.apache.activemq.ActiveMQConnectionFactory;

public class MessageQueueExample {
    public static void main(String[] args) throws Exception {
        // 创建连接工厂
        ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
        // 创建连接
        javax.jms.Connection connection = connectionFactory.createConnection();
        // 开始会话
        connection.start();
        javax.jms.Session session = connection.createSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE);
        // 创建队列
        javax.jms.Queue queue = session.createQueue("testQueue");
        // 创建生产者
        javax.jms.MessageProducer producer = session.createProducer(queue);
        // 创建消息
        javax.jms.TextMessage message = session.createTextMessage("Hello World");
        // 发送消息
        producer.send(message);
        // 创建消费者
        javax.jms.MessageConsumer consumer = session.createConsumer(queue);
        // 接收消息
        javax.jms.Message receivedMessage = consumer.receive();
        // 关闭资源
        session.close();
        connection.close();
    }
}
``

#### 消息队列的作用与应用场景

消息队列主要用于实现不同组件之间的解耦,确保系统模块化和灵活扩展。当应用模块之间存在依赖关系时,消息队列可以隔离这些依赖关系,使得组件能够独立地处理各自的业务逻辑,而不会直接依赖于其他组件的状态或行为。这种方式可以提高系统的可维护性和扩展性。

在实际应用中,消息队列常用于以下场景:
- **事件驱动系统**:例如实时更新用户信息,通过消息队列将事件消息发送给订阅者,确保信息被及时处理。
- **异步处理**:例如日志记录系统,将日志事件发送到消息队列,再由日志处理服务异步进行日志分析。
- **负载均衡和流量削峰**:例如在高并发场景下的订单处理,通过消息队列将流量分散到多个处理节点,减轻峰值压力。
- **分布式系统通信**:例如在微服务架构中,服务之间通过消息队列进行异步通信,提高系统的可伸缩性和稳定性。

消息队列能够提供可靠的消息传递、保证消息顺序、支持消息重试和回溯,以及支持多种消息发送和接收模式,这些特性使得它成为构建复杂分布式系统不可或缺的关键技术。

#### 常见消息队列系统简介

以下是几种常见的消息队列系统:

- **RabbitMQ**
  - RabbitMQ 是一个完全基于 AMQP 协议(高级消息队列协议)实现的消息队列,支持多种消息传递模式。它提供了丰富的消息传递行为和交互方法,支持消息确认、持久化、优先级、事务等特性,适用于大规模生产环境。
  - **安装与配置**:
    ```bash
    # 安装RabbitMQ
    apt-get update
    apt-get install rabbitmq-server
    # 启动RabbitMQ
    systemctl start rabbitmq-server
    # 配置RabbitMQ
    rabbitmq-plugins enable rabbitmq_management
  • 使用示例
    
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qpid.proton.amqp.messaging.Section;
    import org.apache.qpid.proton.amqp.messaging.Data;
    import org.apache.qpid.proton.amqp.messaging.Properties;
    import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
    import org.apache.qq
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消