[rabbitmq-discuss] Intermittent Problem - 2.8.5 java client hangs on declare exchange
Matthias Radestock
matthias at rabbitmq.com
Fri Aug 24 22:08:44 BST 2012
Matthew,
On 24/08/12 21:49, m.luchak at smartasking.com wrote:
> While the client wait() is well, waiting, the device receives incoming
> messages - so there is a connection and the heartbeat is running
> normally and happily.
The latter is on a different connection though, right? i.e. you are not
receiving messages on the same connection that has a stuck
exchange.declare, are you? That would be odder still.
> BTW, In the Javadocs there is an Exchange.Declare with a nowait boolean :
>
> AMQImpl.Exchange.Declare(int ticket, java.lang.String exchange,
> java.lang.String type, boolean passive, boolean durable, boolean
> autoDelete, boolean internal, boolean nowait,
> java.util.Map<java.lang.String,java.lang.Object> arguments)
>
> However, this option is not available in the 2.8.1 or 2.8.6 .jar files
> or source files... can anyone tell me if this overide is in a nightly
> build and/or if it's irrelevant to the task at hand?
Most synchronous AMQP commands have an async variant, triggered by
setting the nowait flag. We don't expose convenience methods for that in
the API but you can use Channel.asyncRpc(Method method) to send commands
like that, e.g.
import com.rabbitmq.client.impl.AMQImpl.Exchange;
channel.asyncRpc(new Exchange.Declare.Builder()
.exchange("myexchange")
.type("direct")
.nowait(true)
.build());
Matthias.
More information about the rabbitmq-discuss
mailing list