RabbitMQ 客户端给java留的一些接口总结
ConnectionFactory {
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.
}
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 数量
}
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)消费者关联队列
handleDelivery(consumertag,envelope,properties,body)
}