1. 程式人生 > >Java實現rabbitmq簡單訊息傳送與消費

Java實現rabbitmq簡單訊息傳送與消費

1.搭建並配置好rabbitmq服務

2.生產訊息併發送

public class SendMessage {

    private final static String QUEUE_NAME = "hello";

    public static void main(String[] argv) throws Exception {

        //定義一個連線工廠
        ConnectionFactory factory = new ConnectionFactory();
        //設定伺服器地址
        factory.setHost("127.0.0.1");
        //設定埠號
        factory.setPort(5672);
        //設定vhost
        factory.setVirtualHost("/aliyun");

        factory.setConnectionTimeout(10000);
        factory.setUsername("ceshi");
        factory.setPassword("1234");
        //獲取一個連線
        Connection connection = factory.newConnection();
        //從連線中獲取一個通道
        Channel channel = connection.createChannel();
        //宣告一個佇列
        channel.queueDeclare(QUEUE_NAME, false, false, false, null);
        String message = "Hello RabbitMQ!";
        //傳送訊息
        channel.basicPublish("", QUEUE_NAME, null, message.getBytes());
        System.out.println(" [x] Sent '" + message + "'");
    }
}

3.消費訊息

public class ReceiveMessage {

    private final static String QUEUE_NAME = "hello";

    public static void main(String[] args) throws Exception{
        //定義一個連線工廠
        ConnectionFactory factory = new ConnectionFactory();
        //設定伺服器地址
        factory.setHost("127.0.0.1");
        //設定埠號
        factory.setPort(5672);
        //設定vhost
        factory.setVirtualHost("/aliyun");

        factory.setConnectionTimeout(10000);
        factory.setUsername("ceshi");
        factory.setPassword("1234");

        //獲取一個連線
        Connection connection = factory.newConnection();
        //獲取一個通道
        Channel channel = connection.createChannel();
        //定義佇列的消費者
        DefaultConsumer defaultConsumer = new DefaultConsumer(channel) {
            //獲取到達的訊息
            @Override
            public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
                super.handleDelivery(consumerTag, envelope, properties, body);
                String msg = new String(body,"utf-8");
                System.out.println(msg);
            }
        };
        //監聽佇列
        channel.basicConsume(QUEUE_NAME,true,defaultConsumer);
    }
}

相關推薦

Java實現rabbitmq簡單訊息傳送消費

1.搭建並配置好rabbitmq服務 2.生產訊息併發送 public class SendMessage { private final static String QUEUE_NA

SpringBoot整合RabbitMQ實現訊息傳送消費

下載安裝Erlang和RabbitMQ Erlang和RabbitMQ:https://www.cnblogs.com/theRhyme/p/10069611.html   專案建立和依賴 推薦SpringCloud專案線上建立:https://start.spring.io/ 不用上面這

Springboot 2.0.x 簡單整合Rabbit MQ 並實現訊息傳送消費【Windows 環境下】

文章目錄 Springboot 2.0.x 簡單整合Rabbit MQ 並實現訊息傳送和消費【Windows 環境下】 1、rabbit mq 基礎支援,安裝 Erlang 環境 2、安裝 ra

java實現rabbitmq訊息傳送接受

本文不介紹amqp和rabbitmq相關知識,請自行網上查閱 本文是基於spring-rabbit中介軟體來實現訊息的傳送接受功能 see http://www.rabbitmq.com/tutorials/tutorial-one-java.html see http:/

rabbitMQ學習筆記(二) 簡單傳送接收訊息 HelloWorld

首先要下載rabbitmq的javaClient庫,然後加入到專案中,下載地址為:http://www.rabbitmq.com/releases/rabbitmq-java-client/v3.1.5/rabbitmq-java-client-bin-3.1.5.zip

SpringBoot通過kafka實現訊息傳送接收(包括不能傳送消費kafka訊息的採坑記錄)

kafka採坑記錄:     1、kafka服務端server.properties中的broker.id叢集內需要唯一。     2、kafka config檔案中listeners和advertised.listeners需要配置本機ip:9092地址,不然消費不到資

RabbitMQ 訊息生產消費(五)

ConnectionFactory: 獲取連線工廠 Connection 一個連線 Channel  資料通訊通道,可傳送和接受訊息 Queue  具體訊息儲存佇列 Producer & Consumer  生產者和消費者

springboot整合rabbitmq,根據查詢的資訊建立多個訊息中心和訊息佇列,並實現不同的訊息傳送到不同的訊息中心

      今天接到一個需求,就是在傳送訊息到rabbitmq訊息中心的時候,需要根據裝置型別,將訊息傳送到不同的訊息佇列,因此要建立不同的訊息佇列。       修改之前是把配置資訊寫在配置文中,專案啟動時,獲取配置檔案中的配置資訊,建立訊息佇列。       修改後的邏輯

Java實現RabbitMQ客戶端和消費者端的簡單例項

1、定義RabbitMQ是流行的開源訊息佇列系統,用erlang語言開發。RabbitMQ是AMQP(高階訊息佇列協議)的標準實現。幾個概念說明:(1)Broker:簡單來說就是訊息佇列伺服器實體。(2)Exchange:訊息交換機,它指定訊息按什麼規則,路由到哪個佇列。(3

rabbitMQ之一】rabbitMQ之helloworld傳送接受訊息-go語言

1.準備工作啟動rabbitmq_server,在瀏覽器上開啟rabbitMQ的管理器2.傳送端程式開始如果匯入"github.com/streadway/amqp" 出現錯誤,則先在goLand下面的終端,執行go get "github.com/streadway/amq

Scala:簡單使用Actor的訊息傳送接收求和

從Scala的諸多介紹當中,就看到了不少特別指出Scala中的Actor能夠實現並行程式設計的強大功能,它是基於事件模型的併發機制。或者說,Scala是運用訊息(message)的傳送、接收來實現多執行緒的。使用Scala能夠更容易地實現多執行緒應用的開發。  說到並行與訊息傳送、接收,我記起了上學期“平行

RabbitMQ 相關問題總結--RabbitMQ 如何確保訊息傳送消費

RabbitMQ 相關問題總結 HA 的RabbitMQ 叢集架構: 一、RabbitMQ 如何高可用部署,如何確保叢集不宕機? RabbitMQ可用採用三種方式來部署叢集: 1. cluster      a. 不支援跨網段,用於同一個網段內的區域網。     b.

activemq安裝簡單訊息傳送接收例項

package com.mq.base.queue; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Destination; import javax.jms.JMSExcepti

分散式訊息佇列 RocketMQ 原始碼分析 —— Message 順序傳送消費

本文主要基於 RocketMQ 4.0.x 正式版 1. 概述 建議前置閱讀內容: 當然對 Message 傳送與消費已經有一定了解的同學,可以選擇跳過。 RocketMQ 提供了兩種順序級別: 普通順序訊息 :Producer 將相關聯的訊息傳送到相同

Qt實現客戶端伺服器訊息傳送檔案傳輸

客戶端與伺服器之間的資料傳送在很多案例場景裡都會有應用。這裡Jungle用Qt來簡單設計實現一個場景,即: ①兩端:伺服器QtServer和客戶端QtClient ②功能:服務端連線客戶端,兩者能夠互相傳送訊息,傳送檔案,並且顯示檔案傳送進度。 環境:VS

java實現一個簡單的單用戶登陸功能的思路

get 單用戶 這樣的 簡單的 lock ref 數據庫 清除 一個 引用 所謂“單用戶單賬戶登錄”是指:在同一系統中,一個用戶名不能在兩個地方同時登錄。 我們參照 QQ 實現效果:當某賬號在 A 處登錄後,在未退出的情況下,如果再到 B 處登錄,那麽,系統會擠下 A 處

Kafka 使用Java實現數據的生產和消費demo

== 輸入流 是你 www esc 驗證 rri else 分開 前言 在上一篇中講述如何搭建kafka集群,本篇則講述如何簡單的使用 kafka 。不過在使用kafka的時候,還是應該簡單的了解下kafka。 Kafka的介紹 Kafka是一種高吞吐量的分布式發布訂閱消息

Java實現一個簡單的事件監聽器

tro 模型 when rgs sdf span 傳遞 inter pre 關於事件監聽我們需要知道的一些基礎知識。 a)事件三要素: source -- 事件源 when -- 事件發生時間 message -- 事件主題消息

java實現一個簡單的計數器

random imp num count 簡單的 [] dom .com bnu package com.fengunion.sf;import org.junit.platform.commons.util.StringUtils;import java.util.Has

Unity Http 訊息傳送接受

參考: https://blog.csdn.net/mseol/article/details/54138762 https://blog.csdn.net/h570768995/article/details/50386935 https://stackoverflow.com/que