rabbitMQ

这是消费者端

package com.wzc.springBootTest.controller;

import java.io.IOException;

import com.rabbitmq.client.AMQP.BasicProperties;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.DefaultConsumer;
import com.rabbitmq.client.Envelope;
import com.wzc.springBootTest.utils.ConnectionUtils;

public class RecieveController {
	private final static String QUEUE_NAME="hello";

    public static void main(String[] args) throws Exception{
		//获取连接以及频道
        Connection connection= ConnectionUtils.getConnection();
        Channel channel=connection.createChannel();
		//声明队列
        channel.queueDeclare(QUEUE_NAME,false,false,false,null);
        System.out.println(" [*] Waiting for messages. To exit press CTRL+C");
		
        DefaultConsumer defaultConsumer = new DefaultConsumer(channel) {
        	@Override
        	public void handleDelivery(String consumerTag, Envelope Envelope,
        			BasicProperties properties, byte[] body) throws IOException {
        		String res = new String(body, "utf-8");
        		System.out.println(res);
        	}
        };
        channel.basicConsume(QUEUE_NAME, true, defaultConsumer);
//        DeliverCallback callback=(consumerTag,delivery)->{
//            String message=new String(delivery.getBody(),"UTF-8");
//            System.out.println(" [x] Received '" + message + "'");
//        };
        //监听队列
//        channel.basicConsume(QUEUE_NAME,true,callback,consumerTag->{});
    }

}

package com.wzc.springBootTest.utils;

import java.io.IOException;

import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

public class ConnectionUtils {
	public static Connection getConnection() throws IOException {
		//创建连接工厂

        ConnectionFactory connectionFactory=new ConnectionFactory();

        //设置参数

        connectionFactory.setHost("192.168.31.108");//主机ip
        connectionFactory.setPort(5672);

        connectionFactory.setVirtualHost("/test");//虚拟主机名

        connectionFactory.setUsername("user_rain");//账号

        connectionFactory.setPassword("user_rain");//密码
        //创建连接
        Connection newConnection = connectionFactory.newConnection();

        return newConnection;
	}

}

生产者端

package com.rainwer.test.controller;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rainwer.test.utils.ConnectionUtil;

public class TestController {
    public static void main(String[] args) throws Exception {
        //通过rabbitmq工具类得到连接
        Connection connection= ConnectionUtil.getConnection();

        //创建通道
        Channel channel = connection.createChannel();

        /*
         *   创建消息队列(如果有可以不用创建,但创建会覆盖之前的)
         *   第一参数:队列名称
         *   第二参数:队列是否持久化(存储到磁盘)
         *   第三参数:队列是否被独占
         *   第四参数:队列是否自动删除
         *   第五参数:
         */
        channel.queueDeclare("hello", false, false, false, null);

        //创建消息
        String message="simple_queue";

        /*
         *   发送消息
         *   第一参数:交换机名(简单模式不用交换机,但不能用null)
         *   第二参数:队列名称
         *   第三参数:
         *   第四参数:消息(字节流)
         *
         */

        channel.basicPublish("", "hello", null, message.getBytes());
        System.out.println("发送的消息:"+message);

        //关闭资源
        channel.close();
        connection.close();
    }
}

package com.rainwer.test.utils;

import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

public class ConnectionUtil {
    public static Connection getConnection() throws Exception {

        //创建连接工厂

        ConnectionFactory connectionFactory = new ConnectionFactory();

        //设置参数

        connectionFactory.setHost("localhost");//主机ip
        connectionFactory.setPort(5672);

        connectionFactory.setVirtualHost("/test");//虚拟主机名

        connectionFactory.setUsername("user_rain");//账号

        connectionFactory.setPassword("user_rain");//密码

        //创建连接

        Connection newConnection = connectionFactory.newConnection();

        return newConnection;

    }
}

		<dependency>
			<groupId>com.rabbitmq</groupId>
			<artifactId>amqp-client</artifactId>
			<version>3.4.1</version>
		</dependency>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值