java rabbitMQ demo
rabbitMQ是一個在AMQP基礎上完整的,可服用的企業訊息系統。他遵循Mozilla Public License 開源協議。
rabbitmq是一個消費的代理;通過生產者客戶端生產一個資訊,轉送給消費者客戶端;在這個傳輸過程中,根據你的需要可以經過路由、緩衝、持久化來得到這個訊息。
先通過一個例子開始:通過rabbitmq輸出"Hello World!"
其中P代表生產者、C表示消費者、中間紅色部分代表訊息佇列
生產者客戶端的傳送訊息程式如下:
Java程式碼- package com.abin.test;
-
import java.io.IOException;
- import com.rabbitmq.client.Channel;
- import com.rabbitmq.client.Connection;
- import com.rabbitmq.client.ConnectionFactory;
- public class Send {
- private final static String QUEUE_NAME = "hello";
- public static void main(String[] args) throws IOException {
-
ConnectionFactory factory = new
- factory.setHost("localhost");
- Connection connection = factory.newConnection();
- Channel channel = connection.createChannel();
- channel.queueDeclare(QUEUE_NAME, false, false, false, null);
- String message = "Hello World!";
-
channel.basicPublish(""
- System.out.println(" [x] Sent '" + message + "'");
- channel.close();
- connection.close();
- }
- }
執行結果如下:
Java程式碼- [x] Sent 'Hello World!'
消費者客戶端接收訊息程式如下:
Java程式碼- package com.abin.test;
- import com.rabbitmq.client.Channel;
- import com.rabbitmq.client.Connection;
- import com.rabbitmq.client.ConnectionFactory;
- import com.rabbitmq.client.QueueingConsumer;
- public class Reqv {
- 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);
- System.out.println(" [*] Waiting for messages. To exit press CTRL+C");
- 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 + "'");
- }
- }
- }
執行程式得到的結果如下:
Java程式碼- [*] Waiting for messages. To exit press CTRL+C
- [x] Received 'Hello World!'
如果消費者出現“[x] Received 'Hello World!'”說明已接收到此訊息資訊。
相關推薦
java rabbitMQ demo
rabbitMQ是一個在AMQP基礎上完整的,可服用的企業訊息系統。他遵循Mozilla Public License 開源協議。 rabbitmq是一個消費的代理;通過生產者客戶端生產一個資訊,轉送給消費者客戶端;在這個傳輸過程中,根據你的需要可以經過路由、緩衝
JAVA EE Demo[購物商城 Strust2]
orm asc comm rep 一個 導航欄 apt filter nbsp 為了搞定作業,我開始了J2EE的Strust2框架實現一個簡單的商城Demo 先創建Java Web Service項目。添加JDBC驅動,導入Strust2框架得到這個:
.net 使用RabbitMQ demo
rec 客戶端 object mar 其他 AI 消費者 str multipl 一、環境搭建就不重復了 上面有 二、在.NET中使用RabbitMQ需要下載RabbitMQ的客戶端程序集,可以到 官網下載 下載解壓後就可以得到RabbitMQ.Client.dll,這就是
PHP 使用 Rabbitmq Demo
訂閱者 change password server rect ++ direct 類型 127.0.0.1 一、發布消息類(client.php),發布者 <?php $conn = [ ‘host‘ => ‘127.0.0.1‘, ‘por
java -jar demo.jar
部署springboot專案 生成jar包其實還是依賴springboot的jar才能跑起來,為什麼呢? 1.在C盤手工建立了一個資料夾,是拷貝了demo.jar這個jar包執行是報錯的。 2.在D:\software\ideaIU-2017.3.5\workplace\demo\o
java rabbitmq ack訊息確認機制
ackage com.example.demo.ConsumerDemo; import com.rabbitmq.client.Channel; import org.springframework.amqp.core.Message; import org.springframewo
selenium+java入門demo
看到這裡,我就不介紹太多的selenium是什麼了(jar包:https://download.csdn.net/download/qq_40374604/10807974) 需要的jar包和常見問題在個人分類的其他文章中 demo中有phantomjs,無瀏覽器訪問,相關文章請看個人部
java小demo---員工管理系統
最近開始自學java,在學到ArrayList的時候做了個員工管理系統來熟悉ArrayList的一部分操作。 此係統有5個功能: 1.新增員工:輸入員工編號,姓名,薪水 2.查詢員工:輸入員工編號進行查詢,如果找到員工就會顯示其資訊,否則給出沒找到的提示。 3.修改員
求倆圓交叉部分面積 java實現demo
import static java.lang.StrictMath.acos; import static java.lang.StrictMath.sin; /** * @author sun * @date 2018/1/31 14:41 */ public class Demo {
Java基礎Demo -- NIO讀檔案
NIO: 通道 read write 緩衝區 put get 字符集 選擇器 Path介面 Files工具類 BasicFileAttributes檔案屬性類 /* * NIO:不是替代IO,是對IO的一種補充,可以更精細的管控流和訪問檔案系統
Java基礎Demo -- 基本型別轉換位元組流
基本型別轉換為位元組流 位元組流轉換回基本型別 注意理解: 0xff &0xff java移位僅支援int或long >>帶符號右移(負數高位補1,正數高位補0),相當於除以2的n次方 >>>無符號右移(高位補0) <
微信公眾號Java接入demo
微信公眾號Java接入demo 前不久買了一臺服務,本來是用來當梯子用的,後來買了一個域名搭了一個部落格網站,後來不怎麼在上面寫部落格一直閒著,最近申請了一個微信公眾號就想著弄點什麼玩玩。週末沒事就鼓搗了下微信公眾號的接入。準備工作 一臺能用域名訪問的伺服器 一個微信公眾號 給伺服器裝上jdk、tomc
mongoDB和java互動demo
下載mongoDB的java驅動包 https://mongodb.github.io/mongo-java-driver/ 查詢資料庫中的文件: //連線資料庫服務 Mongo mongo = new Mongo("localhost",27017); //連線資料庫
Java基礎Demo -- enum列舉
列舉的小示例: 更簡單的對列舉的一種認識:我們自己寫了個類,這個類裡面有資料成員,方法成員。不過我們不用new來例項化這個類,而是enum定義的時候,就定義好了幾個列舉值常量,每個常量都是這個類的物件,而且是public static final修飾的物件。每個物件呢,有自己的資料成員私有副本,
Java基礎Demo -- 泛型上界的示例
<T extends SuperClass> 泛型上界的定義 <? extends SuperClass> 有界萬用字元的運用 普通泛型方法的運用 靜態泛型方法的運用 class Grandpa { private int x,y; public Gran
Java基礎Demo -- 泛型介面的示例
泛型介面 public interface MyInterface<T>{} 的簡單入門示例 /** * 類實現了一個泛型介面,並擴容下 */ interface AI<T> { void sss(T t); } class BI<T,K> imple
Java基礎Demo -- 泛型類的示例
泛型類 public class MyClass<T>{} 的簡單入門示例 /** * 泛型類 class MyClass<T>{} */ class MyGen<T> { private T t; public void setValue(T t){
Java基礎Demo -- IO 基本資料型別的讀寫
DataInputstream 和 DataOutputStream 的示例運用 import java.io.*; /** * 8種基本資料的寫入流,流讀出 * 這種應用場景為:原始的基本資料什麼順序寫入流的,就要什麼順序從流讀出 */ public class DataOIDemo {
Java基礎Demo -- IO 合成器示例
SequenceInputStream 合成器的運用 import java.io.*; import java.util.*; /** * 自定義的列舉類 支援元素FileInputStream,體現在nextElement()方法上 * 不要暈:類內的私有資料成員支援元素String,我們
Java基礎Demo -- IO 語法器示例
PushbackInputStream 語法器的運用 /** * 語法解析器:PushbackInputStream * 舉例1:解析語句"for(int i=0;i<10;i++)"中的for關鍵字,掃描到"for"是不是就可以說是個關鍵字了呢?不行,說不定後面是“for1”,那就是個變