Eclipse下的RabbitMQ

首先先介绍下非spring整合下的RabbitMQ:

引入jar

    <dependency>
            <groupId>com.rabbitmq</groupId>
            <artifactId>amqp-client</artifactId>
            <version>3.6.5</version>
    </dependency>

编写实现代码

import org.apache.log4j.Logger;

import com.deshangshidai.utils.DateTimeUtils;
import com.deshangshidai.utils.PropertitesReader;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.QueueingConsumer;
/**
 * 
 * @author Administrator
 * 服务器端
 */
//@Deprecated
public class RabbitMQ {
	
	private static final Logger log = Logger.getLogger(RabbitMQ.class);
	//消费者 *** 入参为队列名称
	public static void Server(String queueName)  {
		try{
			/* 建立连接 */
			ConnectionFactory factory = new ConnectionFactory();
			factory.setHost(PropertitesReader.ReadersContext("rabbitmq-slave.properties", "rabbitmq.queue.host"));// MQ的IP
			factory.setPort(Integer.parseInt(PropertitesReader.ReadersContext("rabbitmq-slave.properties", "rabbitmq.queue.port")));// MQ端口
			factory.setUsername(PropertitesReader.ReadersContext("rabbitmq-slave.properties", "rabbitmq.username"));// MQ用户名
			factory.setPassword(PropertitesReader.ReadersContext("rabbitmq-slave.properties", "rabbitmq.password"));// MQ密码
			Connection connection = factory.newConnection();
			Channel channel = connection.createChannel();
	 
			if(queueName==null||queueName.equals("")){
				queueName=RabbitMQmenu.TEST.toString();
			}
			
			/* 声明要连接的队列 */
			channel.queueDeclare(queueName, false, false, false, null);
			log.info(DateTimeUtils.getDateTimeQM()+"------>系统消息队列创建成功!");
			/* 创建消费者对象,用于读取消息 */
			QueueingConsumer consumer = new QueueingConsumer(channel);
			channel.basicConsume(queueName, true, consumer);
	
			/* 读取队列,并且阻塞,即在读到消息之前在这里阻塞,直到等到消息,完成消息的阅读后,继续阻塞循环 */
			while (true) {
				QueueingConsumer.Delivery delivery = consumer.nextDelivery();
				String message = new String(delivery.getBody());
				log.info("【收到消息】---"+DateTimeUtils.getDateTimeQM()+"------>"+message);
			}
		}catch(Exception e){
			log.info(DateTimeUtils.getDateTimeQM()+"------>系统消息队列创建失败!\n"+e.getMessage());
		}
	}
	
	//生产者 *** 入参为队列名称
	public static void client(String queueName){
		try{
			/* 建立连接 */
			ConnectionFactory factory = new ConnectionFactory();
			factory.setHost(PropertitesReader.ReadersContext("rabbitmq-slave.properties", "rabbitmq.queue.host"));// MQ的IP
			factory.setPort(Integer.parseInt(PropertitesReader.ReadersContext(&#
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值