1、下载rabbitMQ的客户端,下载地址 http://www.rabbitmq.com/download.html
2、解压,并将后缀为.jar(可以不用包含junit.jar)的拷贝出来放入java的项目。
import java.io.IOException; import java.util.concurrent.TimeoutException; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory; public class Send { public static void main(String[] args) throws IOException, TimeoutException { ConnectionFactory factory = new ConnectionFactory(); factory.setHost("192.168.11.188"); // mq ip factory.setPort(5672);// 端口号 factory.setUsername("abc"); // rabbitMQ登录用户名 factory.setPassword("abc123"); // rabbitMQ登录密码 factory.setVirtualHost("hdware.adjust.host"); Connection connection = null; connection = factory.newConnection(); Channel channel = connection.createChannel(); String sendStr = "需要发送的文本"; // 发送 channel.basicPublish("", "gz.hdwareinfo.queue", null, sendStr.getBytes("utf-8")); System.out.println("已发送" + sendStr); channel.close(); connection.close(); } }
1 1、命名空间 using System.Messaging; 2 3 2、默认存储路径 C:\WINDOWS\system32\msmq\storage 4 5 3、创建消息队列:MessageQueue mq = MessageQueue.Create(@".\Private$\LeeMSMQ"); 6 7 4、删除队列:MessageQueue.Delete(@".\Private$\LeeMSMQ"); 8 9 5、发送消息:MessageQueue mq = new MessageQueue(@".\Private$\LeeMSMQ"); 10 mq.Send("sayhello1,hello msmq!", "sayhello1"); 11 mq.Send("sayhello2,hello msmq!", "sayhello2"); 12 13 6、接受并删除消息:MessageQueue mq = new MessageQueue(@".\Private$\LeeMSMQ") 14 Message msg = mq.Receive();//引用的队列中可用的第一条消息 15 16 7、接受但不删除消息:Message msg = mq.Peek(); 17 8、删除所有消息: Message msg = mq.Purge(); 18 19 9、返回本机所有私有队列的消息 20 //返回本机所有私有队列的消息 21 foreach (MessageQueue mq in MessageQueue.GetPrivateQueuesByMachine("liyanping")) 22 { 23 mq.Formatter = new XmlMessageFormatter(new string[] { "System.String" }); 24 Message[] msg = mq.GetAllMessages(); 25 foreach (Message m in msg) 26 { 27 Console.WriteLine("label:{0},body:{1}", m.Label, m.Body); 28 } 29 } 30 31 10、返回指定队列的消息 32 if (MessageQueue.Exists(@".\Private$\LeeMSMQ"))//判断私有消息是否存在 33 { 34 using (MessageQueue mq = new MessageQueue(@".\Private$\LeeMSMQ")) 35 { 36 mq.Formatter = new XmlMessageFormatter(new string[] { "System.String" });//设置消息队列格式化器 37 Message msg = mq.Receive();//接收消息 38 Console.WriteLine("label:{0},body: {1}", msg.Label, msg.Body);//输出消息 39 MessageQueue.Delete(@".\Private$\LeeMSMQ"); 40 } 41 }
善于将复杂问题简单化