Hi,

I am trying to communicate with Service Bus for Windows Server via AMQP and
found this problem.

This was tried with Qpid JMS 0.9.0 and also with the latest snapshot. If
there are no messages on the queue when I call receive(timeout>0), the call
blocks forever. Sending a message to the same queue after the call does not
help either.

Here is the stack trace:

Unsafe.park(boolean, long) line: not available [native method]
LockSupport.park(Object) line: 186
CountDownLatch$Sync(AbstractQueuedSynchronizer).parkAndCheckInterrupt()
line: 834
CountDownLatch$Sync(AbstractQueuedSynchronizer).doAcquireSharedInterruptibly(int)
line: 994
CountDownLatch$Sync(AbstractQueuedSynchronizer).acquireSharedInterruptibly(int)
line: 1303
CountDownLatch.await() line: 236
ProviderFuture.sync() line: 97
JmsConnection.pull(JmsConsumerId, long, ProviderSynchronization) line:
766
JmsConnection.pull(JmsConsumerId, long) line: 755
JmsMessageConsumer.performPullIfRequired(long, boolean) line: 631
JmsMessageConsumer.dequeue(long, boolean) line: 263
JmsMessageConsumer.receive(long) line: 196
Receiver.main(String[]) line: 80

I used the Receiver class in the included examples. The connection string
is:
amqps://x.x.x.x:5671/?transport.verifyHost=false&amqp.idleTimeout=121000

I am setting this timeout, because Service Bus wants >=60 s timeout in AMQP
OPEN.

And just as reference, these combinations I already tried and
receive(timeout) returns null as expected:
- Qpid JMS 0.9.0 against AMQP ActiveMQ
- Qpid 0.32 (amqp-1-0-client) against AMQP ActiveMQ
- Qpid 0.32 (amqp-1-0-client) against AMQP Service Bus

So, is it a bug or I am missing something?

Thanks!

Reply via email to