RabbitMqUtil.java
package zwf;
import java.io.IOException;
import java.util.concurrent.TimeoutException;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
public class RabbitMqUtil
{
/**
* 创建RabbitMq连接
*
* @author Administrator
* @email 117791303@QQ.COM
* @mobile 13805029595
* @return
* @throws Exception
*/
public static Connection getConn()
{
//1. 创建连接工厂
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("192.168.1.3");//地址
factory.setPort(5673);//端口
factory.setUsername("guest");//用户名
factory.setPassword("guest");//密码
factory.setVirtualHost("/");//设置VirtualHost
//2. 通过工厂创建connection
Connection connection = null;
try
{
connection = factory.newConnection();
}
catch (IOException e)
{
e.printStackTrace();
}
catch (TimeoutException e)
{
e.printStackTrace();
}
return connection;
}
}
Task.java
package zwf;
import java.util.Scanner;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
public class Task
{
// 队列名称
public static final String QUEUE_NAME = "ZengWenFeng";
public static void main(String[] args) throws Exception
{
//1.获取connection
Connection connection = RabbitMqUtil.getConn();
//2. 创建channel
Channel channel = connection.createChannel();
channel.queueDeclare(QUEUE_NAME, false, false, false, null);
// 从控制台当中接收信息
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext())
{
String message = scanner.next();
channel.basicPublish("", QUEUE_NAME, null, message.getBytes());
System.out.println("send ok");
}
}
}
Work.java
package zwf;
import java.io.IOException;
import com.rabbitmq.client.CancelCallback;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.DeliverCallback;
import com.rabbitmq.client.Delivery;
public class Work
{
// 队列名称
public static final String QUEUE_NAME = "ZengWenFeng";
//接收消息
public static void main(String[] args) throws Exception
{
//1.获取connection
Connection connection = RabbitMqUtil.getConn();
//2. 创建channel
Channel channel = connection.createChannel();
DeliverCallback deliverCallback = new DeliverCallback()
{
public void handle(String consumerTag, Delivery message) throws IOException
{
System.out.println("message : " + new String(message.getBody()));
}
};
CancelCallback cancelCallback = new CancelCallback()
{
public void handle(String consumerTag) throws IOException
{
System.out.println("message cancel");
}
};
channel.basicConsume(QUEUE_NAME, true, deliverCallback, cancelCallback);
}
}
=====