rabbitMQ 測試 全過程

這裏先介紹一下 rabbitmq 用到的包的 路徑 

下載erlang支持包:http://www.erlang.org/download.html 

下載rabbitmq server:http://www.rabbitmq.com/releases/rabbitmq-server/

下載RabbitMQ client:http://www.rabbitmq.com/releases/rabbitmq-java-client/或者在http://www.rabbitmq.com/java-client.html


說道測試呢 , 我先簡單介紹一下, 我是在 Linux 虛擬機上進行測試的, 說道linux 很多新手 會覺着 很頭疼, 一大堆的命令,的確如此,不過誰都有第一次,加油各位

言歸正傳   步驟如下

1、首先在 linux 服務器上 需要 配置 erlang  和 rabbitmq 環境 , 我上面的文章已經講述了,大家可以看一看

2、在本地myeclipse中 創建兩個類

1)

[html] view plain copy
 在CODE上查看代碼片派生到我的代碼片
  1. package com.abin.test;  
  2.   
  3. import com.rabbitmq.client.Channel;  
  4. import com.rabbitmq.client.Connection;  
  5. import com.rabbitmq.client.ConnectionFactory;  
  6. import com.rabbitmq.client.QueueingConsumer;  
  7.    
  8. public class Recv {  
  9.    
  10.     //消息隊列名稱   
  11.     private final static String QUEUE_NAME="hello";  
  12.        
  13.     public static void main(String[] args)  throws java.io.IOException,java.lang.InterruptedException{  
  14.            
  15.         //創建鏈接工廠  
  16.         ConnectionFactory factory = new ConnectionFactory();  
  17.         factory.setHost("localhost");  
  18.         //創建鏈接  
  19.         Connection connection = factory.newConnection();  
  20.            
  21.         //創建消息信道  
  22.         Channel channel = connection.createChannel();  
  23.            
  24.         //生命消息隊列  
  25.         channel.queueDeclare(QUEUE_NAME,false,false,false,null);  
  26.         System.out.println("[*] Waiting for message. To exist press CTRL+C");  
  27.            
  28.         //消費者用於獲取消息信道綁定的消息隊列中的信息  
  29.         QueueingConsumer consumer = new QueueingConsumer(channel);  
  30.            
  31.         channel.basicConsume(QUEUE_NAME, true,consumer);  
  32.            
  33.         while(true){  
  34.                
  35.             //循環獲取消息隊列中的信息  
  36.             QueueingConsumer.Delivery delivery = consumer.nextDelivery();  
  37.             String message = new String(delivery.getBody());  
  38.             System.out.println("[x] Received '"+message+"'");  
  39.                
  40.         }  
  41.            
  42.     }  
  43.        
  44. }  
2)

[html] view plain copy
 在CODE上查看代碼片派生到我的代碼片
  1. package com.abin.test;  
  2.   
  3. import com.rabbitmq.client.Channel;  
  4. import com.rabbitmq.client.Connection;  
  5. import com.rabbitmq.client.ConnectionFactory;  
  6.           
  7.           
  8. public class Send {  
  9.           
  10.     //消息隊列名稱  
  11.     private final static String QUEUE_NAME="hello";  
  12.           
  13.     public static void main(String[] args)  throws java.io.IOException{  
  14.           
  15.         //創建鏈接工程  
  16.         ConnectionFactory factory = new ConnectionFactory();  
  17.         factory.setHost("localhost");  
  18.         //創建鏈接  
  19.         Connection connection = factory.newConnection();  
  20.           
  21.         //創建消息通道  
  22.         Channel channel = connection.createChannel();  
  23.           
  24.         //生命一個消息隊列  
  25.         channel.queueDeclare(QUEUE_NAME, false, false, false, null);  
  26.           
  27.         String message = "Hello World";  
  28.           
  29.         //發佈消息,第一個參數表示路由(Exchange名稱),未""則表示使用默認消息路由  
  30.         channel.basicPublish("", QUEUE_NAME, null, message.getBytes());  
  31.           
  32.         System.out.println(" [x] Sent '"+message+"'");  
  33.           
  34.        //關閉消息通道和鏈接  
  35.         channel.close();  
  36.         connection.close();  
  37.           
  38.     }  
  39.           
  40. }  

好的 ,  你把 兩個類 放到  myeclipse中時 會報很多錯,  大家肯定知道 少包啊, 沒錯   這裏給大家提供路徑

下載RabbitMQ client:http://www.rabbitmq.com/releases/rabbitmq-java-client/或者在http://www.rabbitmq.com/java-client.html 

下載玩 這個 rabbitmq-Java-client-bin-3.0.4.zip 這個包之後  解壓, 把 包中的 所有包 都 解壓到項目中,你會發現XX沒了。

好的 我們繼續

這時候我們需要將 本地的 項目 傳到linux虛擬機上,  我們先到myeclipse的根目錄中找到 bin 路徑(裏面都是class文件) 然後把bin打成 後綴名爲zip的包

然後我們傳到 虛擬機上 命令如下:    rz -y   

好的比如我們傳到了  /user/local    這個目錄下了,然後我們解壓這個zip文件  命令如下:unzip bin.zip        OKzip文件解壓完畢

然後我們在到 myeclipse根目錄中找到 我們導入的包(也就是讓你們下載 client中的包)  , 最好創建個文件夾,我這裏叫lib,同樣上傳到linux虛擬機上路徑也是/user/local

好的  完事具備 只欠東風   , 我們怎麼運行呢?   我們需要 自己寫個腳本去運行

腳本如下  注視已經寫好 , 你們因該可以看懂

[html] view plain copy
 在CODE上查看代碼片派生到我的代碼片
  1. #!/bin/sh    
  2. LIBS_DIR=項目所用包的地址/lib                                               //這裏的項目所用包的地址是  項目所用到的包  , 通常我們放到lib中 ,   
  3. for i in $LIBS_DIR/*.jar  
  4. do CLASSPATH=$i:"$CLASSPATH"  
  5. done  
  6.   
  7.   
  8.        
  9. SERVER=項目地址                //這裏的項目地址是    你將bin文件放入 linux服務器中的地址  
  10.   
  11.   
  12. cd $SERVER/bin      //這裏的 bin 意思是  綁定到了  bin這個文件夾下, 也就是說你把myeclipse工程中的bin文件夾複製到服務器上就可以了,裏面是class類  
  13.         
  14. java -Xms512m -Xmx1024m  -classpath $CLASSPATH com.abin.test.Send                       
  15. //這裏的com.abin.test.Send是  包的名字  也就是 java類中 package com.abin.test;  ,然後這裏的Send表示類的名字,我們先運行Send類在運行Recv類, 會發現  隊列 被 輸出  

然後 就運行腳本 , 命令如下  sh run.sh

運行順序  先運行 Send   在 運行 Recv

發佈了2 篇原創文章 · 獲贊 6 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章