2013-11-01 42 views
2

我在我的RabbitMQ上有話題交換。 發送消息時發生錯誤。RabbitMQ,話題交換

EXCHANGE_NAME = "EX_TEST"; 

接收部分:

ConnectionFactory connectionFactory = new ConnectionFactory(); 
connectionFactory.setHost(mServer); 
mConnection = connectionFactory.newConnection(); 
mModel = mConnection.createChannel(); 
mModel.exchangeDeclare(EXCHANGE_NAME, MyExchangeType, true); 
mQueue = mModel.queueDeclare().getQueue(); 
MySubscription = new QueueingConsumer(mModel); 
mModel.queueBind(mQueue, EXCHANGE_NAME, routingKey); 
mModel.basicConsume(mQueue, true, MySubscription); 

SEND部分:channel.exchangeDeclare(EXCHANGE_NAME, "topic"); 例外::

ConnectionFactory factory = new ConnectionFactory(); 
     factory.setHost("localhost"); 
     Connection connection = factory.newConnection(); 
     Channel channel = connection.createChannel(); 
     channel.exchangeDeclare(EXCHANGE_NAME, "topic"); 

在線路錯誤 在虛擬主機 '/' 具有不同的類型不能重新聲明交換 'EX_TEST' ,耐用,內部或自動刪除值,class-id = 40,method-id = 10

如何解決這個問題? 三江源:d

回答

1

mModel.exchangeDeclare(EXCHANGE_NAME, MyExchangeType, true); 

channel.exchangeDeclare(EXCHANGE_NAME, "topic"); 

方法參數應該是相同的。

+0

感謝zaq178miami ...工作:D –