国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

RabbitMQ

2019-11-14 21:54:31
字體:
來源:轉載
供稿:網友
RabbitMQ - 介紹

RabbitMQ是個健壯、易用、開源、支持多種操作系統和語言的message broker。

當然,一切的前提是機器里面正在運行著rabbitmq-server。

點擊下面的圖片下載:

rabbitMQ和AMQP的關系是什么樣的?rabbitMQ負責哪部分?如圖所示,就是PRovider和consumer之間那一塊。

message broker,比如ActiveMQ、RabbitMQ什么的,簡單而言就是可以收發消息的。

我跟著官方的Tutorial簡單寫一個Hello World。實現一個producer到queue到consumer的小程序。

不要忘了添加java client :

<dependency>    <groupId>com.rabbitmq</groupId>    <artifactId>amqp-client</artifactId>    <version>3.3.4</version></dependency>

provider:

        private final static String QUEUE_NAME = "hello";     public static void main(String[] args) throws IOException {                 //創建Connection        ConnectionFactory factory = new ConnectionFactory();        factory.setHost("localhost");        Connection connection = factory.newConnection();        Channel channel = connection.createChannel();         //定義目標隊列        channel.queueDeclare(QUEUE_NAME, false, false, false, null);        String message = "Hello World!";        System.out.println(" [x] Sent '" + message + "'");        channel.basicPublish("", QUEUE_NAME, null, message.getBytes());         channel.close();        connection.close();    }

Receiver的步驟與provider大致相同,只需要注意QUEUE_NAME要相同:

private final static String QUEUE_NAME = "hello"; public static void main(String[] argv) throws Exception {     ConnectionFactory factory = new ConnectionFactory();    factory.setHost("localhost");    Connection connection = factory.newConnection();    Channel channel = connection.createChannel();     channel.queueDeclare(QUEUE_NAME, false, false, false, null);     QueueingConsumer consumer = new QueueingConsumer(channel);    channel.basicConsume(QUEUE_NAME, true, consumer);     while (true) {        QueueingConsumer.Delivery delivery = consumer.nextDelivery();        String message = new String(delivery.getBody());        System.out.println(" [x] Received '" + message + "'" + new Date());    }}

如果不出意外的話,consumer可以正常打印出"Hello World!"。(PS:磁盤太滿也可能導致消息無法接收,可以在配置文件中設置disk_free_limit項。)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平定县| 庆阳市| 天全县| 安阳市| 合肥市| 古田县| 阜宁县| 榆林市| 南靖县| 邵阳县| 泸州市| 南宁市| 商城县| 宣威市| 邵阳市| 新田县| 大冶市| 化隆| 宽甸| 夏河县| 醴陵市| 卓资县| 中江县| 固原市| 喀喇| 呼和浩特市| 大连市| 东方市| 鄯善县| 保山市| 普格县| 墨竹工卡县| 兴隆县| 宜兰县| 句容市| 镇雄县| 施秉县| 百色市| 中阳县| 保定市| 磴口县|