it's because you use single queue for both of consumer, in fanout exchange, message is copy to all the queue bind to this exchange. Inorder to has 2 copy, you must have to use 2 queue(use different queue name).
On Monday, July 4, 2016 at 10:09:03 PM UTC+7, Rakesh Goyal wrote: > > > > down votefavorite > <http://stackoverflow.com/questions/38186283/golang-rabbit-mq-fanout-exchange-multiple-consumers#> > > I am publishing messages in fanout exchange from Java application. I am > able to receive message in multiple consumer in Java. I have 2 consumers in > golang app but only one of the consumer (alternatively ) is receiving the > message (Not both of them for a published message). > > func HandleMessageFanout1(){ > > conn := system.EltropyAppContext.RabbitMQConn > > channel, err := conn.Channel() > > if(err!=nil){ > log.Println(err) > } > //forever := make(chan bool) > > > > deliveries,err := channel.Consume( > "example.queue", //queue > "qw", > true, > false, > false, > false, > nil) > > if(err!=nil){ > log.Println(err) > } > > go func() { > > for d := range deliveries { > log.Printf("Message recived in fanout 1") > log.Printf("Received a message: %s", d.Body) > } > }() > > //<-forever > > } > > //2nd Consumer > > package consumer > > import ( > "github.com/eltropy/shehnai/backend/golang/common-packages/system" > log "github.com/Sirupsen/logrus" > ) > > func HandleMessageFanout2() { > > conn := system.EltropyAppContext.RabbitMQConn > > channel, err := conn.Channel() > > if (err!=nil) { > log.Println(err) > } > > //forever := make(chan bool) > > deliveries, err := channel.Consume( > "example.queue", //queue > "q2", > true, > false, > false, > false, > nil) > > if (err!=nil) { > log.Println(err) > } > > go func() { > for d := range deliveries { > log.Printf("Message recived in fanout 2") > log.Printf("Received a message: %s", d.Body) > } > }() > > //<-forever > > } > > I am using https://github.com/streadway/amqp library for rabbit mq. > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.