RabbitMQ 客户端给java留的一些接口总结

RabbitMQ 客户端给java留的一些接口总结

ConnectionFactory {//连接工厂(创建连接的工厂)
	//设置服务端地址(域名地址/ip)
	setHost("127.0.0.1")
	
	//设置服务器端口号
	setPort(5672)
	
	//设置虚拟主机(相当于数据库中的库)
	setVirtualHost("/")
	
	//设置用户名
	setUsername("admin")
	
	//设置密码
	setPassword("password")
	
	//创建连接
	newConnection()
}

//连接
Connection{
	//创建通道
	createChannel()

	//关闭连接
	close()
}

//通道
Channel{
	//创建(声明)队列
	queueDeclare(queuename,bool,false,false,NULL) {
		1.string 队列名
		2.消息持久化(true:持久化/false:非持久化)
		3.
		4.
		5.
	}

	//发送消息给MQ
	basicPublish(exchangename,routingkey,NULL,message){//标准
		1.交换机名 空字符代表默认,无名交换机
		2.路由键名 
	}
	basicPublish("",queuename,NULL,message) {
		//给队列发消息,单播
		1.
		2.string 队列名(使用默认交换机,将队列名作为路由键名来发送消息)
		3.基本属性
		4.需要发送的消息
	}
	basicPublish("",queuename,PERSISTENT_TEXT_PLAIN,message) {
		//设置消息持久化
		1.
		2.string 队列名
		3.将消息设置为持久化
		4.需要发送的消息
	}
	basicPublish(exchangename,"",NULL,message) {
		//通过交换机广播消息
		1.string 交换机名
		2.
		3.基本属性
		4.需要发送的消息
	}
	basicPublish(exchangename,routingkey,NULL,message) {
		//根据路由键将消息发送对应的队列
		1.string 交换机名
		2.string 路由键
		3.基本属性
		4.需要发送的消息
	}

	//监听队列
	basicConsume(queuename,bool,consumer) {
		1.string 队列名
		2.是否自动回复ack(true:不管成功不成功都回复ack/false:不回复ack)
		3.Consumer 消费者
	}

	//设置每次从队列取出多少条数据
	basicQos(prefetchCount) {
		1.int 数量
	}

	//手动回复ack
	basicAck(envelope.getDeliveryTag(),false) {
		1.
		2.
	}

	//创建(声明)交换机
	exchangeDeclare(exchangename,"fanout") {
		1.string 交换机名
		2.string 种类 {
			1.fanout 为所有消费者发送消息,忽略路由键
			2.direct 根据路由键将消息发送对应的队列
		}
	}

	//绑定交换机和队列
	queueBind(queuename,exchangename,"") {
		//广播
		1.string 队列名
		2.string 交换机名
		3.string 
	}
	queueBind(queuename,exchangename,routingkey){
		//有选择的发送
		1.string 队列名
		2.string 交换机名
		3.string 路由键
	}

	//关闭连接
	close()
}

Consumer{
	//构造函数(通道)
	Consumer(channel)消费者关联队列
	//接收消息(消费者tag,,,接收的消息)
	handleDelivery(consumertag,envelope,properties,body)
}

你可能感兴趣的:(MQ,rabbitmq)