title: HornetQ producer threads are stuck in WAITING state
body: <p>We use HornetQ 2.2.5 and our problem is that in the client side (which sends messages to the Q), all the producer threads are stuck in WAITING state.</p>
  
  <p>please note that the producer is on one machine and the HornetQ server is on another.</p>
  
  <p>This is the thread dump in the client side:</p>
  
  <blockquote>
    <p>Thread: pool-10-thread-9 : priority:5, demon:false, threadId:521, threadState:WAITING,
    lockName:java.util.concurrent.Semaphore$NonfairSync@60568a13</p>
    
    <p>sun.misc.Unsafe.park(Native Method)</p>
    
    <p>java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
    java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
    java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:969)
    java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1281)</p>
    
    <p>java.util.concurrent.Semaphore.acquire(Semaphore.java:441)
    org.hornetq.core.client.impl.ClientProducerCreditsImpl.acquireCredits(ClientProducerCreditsImpl.java:74)
    org.hornetq.core.client.impl.ClientProducerImpl.doSend(ClientProducerImpl.java:305)
    org.hornetq.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:142)
    org.hornetq.jms.client.HornetQMessageProducer.doSend(HornetQMessageProducer.java:451)
    org.hornetq.jms.client.HornetQMessageProducer.send(HornetQMessageProducer.java:199)</p>
  </blockquote>
  
  <p>the connection and session to the Q are cached and reused on the client side.</p>
  
  <p>On the server side there’s the following log:</p>
  
  <blockquote>
    <p>[hornetq-failure-check-thread] 19:25:30,820 WARNING
    [org.hornetq.core.protocol.core.impl.RemotingConnectionImpl]<br>
    Connection failure has been detected: Did not receive data from
    /10.2.6.11:50697. It is likely the client has exited or crashed
    without closing its connection,  or the network between the server and
    client has failed. You also might have configured connection-ttl and
    client-failure-check-period incorrectly.  Please check user manual for
    more information. The connection will now be closed. [code=3] </p>
  </blockquote>
  
  <p>Is there any reason why all the producer threads are stuck?</p>