I am using activemq 5.0-SNAPSHOT with a current project and have just come across a situation where a thread blocks indefinitely trying to publish a message. It happens during the session commit

The method ActiveMQDispatcherClient.dispatch is synchronized.

Here is the stack trace.

Thread [pool-5-thread-1] (Suspended)    
        Unsafe.park(boolean, long) line: not available [native method]  
        LockSupport.park() line: 118    
        AbstractQueuedSynchronizer$ConditionObject.await() line: 1767   
        ArrayBlockingQueue<E>.take() line: 341    
        FutureResponse.getResult() line: 40     
        ResponseCorrelator.request(Object) line: 76     
        ActiveMQConnection.syncSendPacket(Command) line: 1168   
        TransactionContext.commit() line: 259   
        ActiveMQSession.commit() line: 491      
DefaultEnqueueStrategy<T>.dispatch(Session, MessageProducer, DispatcherQueue, List<T>) line: 83
        ActiveMQDispatcherClient.dispatch(List<T>) line: 195      
        Hub.dispatchObservations(List<DeviceFieldObservation>) line: 1004 
        ZoneFacadeImpl.observationsMade(List) line: 785 
        DeviceFieldObservationVendorImpl.vendObservations(List) line: 183       
DeviceFieldObservationVendorImpl$StatusEventHandler.notifyEvent(DeviceEvent) line: 687
        EventManager$EventDeliverer.run() line: 174     
        Executors$RunnableAdapter.call() line: 442      
ScheduledThreadPoolExecutor$ScheduledFutureTask(FutureTask).run() line: 176 ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor$ScheduledFutureTask) line: 102
        ScheduledThreadPoolExecutor$ScheduledFutureTask.run() line: 215 
        ThreadPoolExecutor$Worker.runTask(Runnable) line: 665   
        ThreadPoolExecutor$Worker.run() line: 690       
        Thread.run() line: 613  


cheers
</jima>

Reply via email to