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 }
善于将复杂问题简单化

浙公网安备 33010602011771号