第一步
在管理界面增加virtual host分区(分区注意加/),再创建对应的队列
第二步
打开idea ,引入maven仓库中的jar包
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>5.16.0</version>
</dependency>
第三步
编码连接信息
public class MqService {
public static Connection getConnection() throws IOException, TimeoutException {
ConnectionFactory connectionFactory = new ConnectionFactory();
connectionFactory.setVirtualHost("/yjg218");
connectionFactory.setUsername("guest");
connectionFactory.setPassword("guest");
connectionFactory.setHost("192.168.241.167");
connectionFactory.setPort(5672);
return connectionFactory.newConnection();
}
}
第四步
生产者
public class Producer {
private static final String QUEUE_NAME="yjg01";
public static void main(String[] args) throws IOException, TimeoutException {
Connection connection = MqService.getConnection();
Channel channel = connection.createChannel();
String msg="哥真帅";
channel.basicPublish("",QUEUE_NAME,null,msg.getBytes());
channel.close();
connection.close();
}
}
执行完之后将信息存入rabbit mq中
第五步
public static void main(String[] args) throws IOException, TimeoutException {
//创建连接
Connection connection = MqService.getConnection();
//设置通道
Channel channel = connection.createChannel();
DefaultConsumer defaultConsumer = new DefaultConsumer(channel) {
@Override
public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
String msg = new String(body, "UTF-8");
System.out.println("消费者" + msg);
}
};
//监听队列
// autoAck true:自动
channel.basicConsume(QUEUE_NAME,true,defaultConsumer);
}
}