调用exchangeBind时RabbitMq错误

调用exchangeBind时RabbitMq错误,rabbitmq,Rabbitmq,我有一个非常简单的场景。我创建一个队列,交换并将队列绑定到exchange Code : String queueName = new StringBuilder("LP.DATA.").append("TESTACCOUNT").append(".").append("subLP").toString(); channel.exchangeDeclare(ExchangeConstants.DATA_EXCG, "direct", true); channel.queueDeclare(que

我有一个非常简单的场景。我创建一个队列,交换并将队列绑定到exchange

Code :
String queueName = new StringBuilder("LP.DATA.").append("TESTACCOUNT").append(".").append("subLP").toString();
channel.exchangeDeclare(ExchangeConstants.DATA_EXCG, "direct", true);
channel.queueDeclare(queueName, true, false, false, null);
channel.exchangeBind(queueName, ExchangeConstants.DATA_EXCG, queueName);

I get the following error when exchangeBind() is called.

com.rabbitmq.client.ShutdownSignalException: channel error; reason: {#method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no exchange 'LP.DATA.TESTACCOUNT.subLP' in vhost '/', class-id=40, method-id=30), null, ""}

My ExchangeConstants.DATA_EXCG is "DATA_EXCG". Using RabbitMq admin I see that the exchange and queue are all created. From the exception I don't understand why is it looking for exchange with name "LP.DATA.TESTACCOUNT.subLP", this is a queuename.  It seems quite trivial, I am sure I am missing something.

I am using java rabbitmq-client version 3.04. 
代码:
String queueName=new StringBuilder(“LP.DATA”).append(“TESTACCOUNT”).append(“.”)。append(“subLP”).toString();
channel.ExchangeClare(ExchangeConstants.DATA_EXCG,“direct”,true);
queueDeclare(queueName,true,false,false,null);
channel.exchangeBind(queueName,ExchangeConstants.DATA\u EXCG,queueName);
调用exchangeBind()时出现以下错误。
com.rabbitmq.client.ShutdownSignalException:通道错误;原因:{#方法(回复代码=404,回复文本=未找到-vhost'/'中没有交换'LP.DATA.TESTACCOUNT.subLP',类id=40,方法id=30),null,“}
我的ExchangeConstants.DATA\u EXCG是“DATA\u EXCG”。使用RabbitMq admin,我看到交换和队列都已创建。从这个异常中,我不明白为什么它要查找名为“LP.DATA.TESTACCOUNT.subLP”的exchange,这是一个队列名称。这似乎很琐碎,我肯定我错过了什么。
我使用的是java rabbitmq客户端版本3.04。
此函数将2个交换绑定在一起:目标和源都应该是交换

在这里,您应该改用
channel.queueBind

谢谢。完全错过了queueBind()。
channel.exchangeBind(java.lang.String destination,
             java.lang.String source,
             java.lang.String routingKey)