yes - async is true could help - as its embedded - I'd be interested in the stack trace of all the threads - so we can work out why this is happening

cheers,

Rob

http://rajdavies.blogspot.com/



On Sep 12, 2007, at 7:25 AM, Jim Alateras wrote:

Rob,
Using the embedded broker but couldn't locate the thread holding the lock. The problem is that it is blocking the client thread. If i use something like async=true then will the delivery happen in a separate thread?

cheers
</jima>
Rob Davies wrote:
the client is waiting for a response from the broker - what's the broker doing whilst you are doing this ?
cheers,
Rob
'Go Get Integrated - ride the Camel! - http://activemq.apache.org/ camel/'
http://rajdavies.blogspot.com/
On Sep 11, 2007, at 11:27 PM, Jim Alateras wrote:
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