activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hiram Chirino" <hi...@hiramchirino.com>
Subject Re: Need Help with blocking Producer!
Date Thu, 15 May 2008 16:48:59 GMT
On Sun, May 11, 2008 at 11:12 AM, jaya_srini <jya_srini@hotmail.com> wrote:
>
> Hi Filip
>
> I have 4 producers (who are also consumers) on different connections  i.e I
> create a diffrent connection for each producer. But If multiple threads are
> using the same producer then I can see that they might end up using the same
> session.
>

Don't do this.. it's a violation of the JMS spec.  It's safer to
create a session and producer for each thread and close them out after
your done.  To avoid the performance hit if creating and closing
sessions and producers, use the PooledConnectionFactory [1]

[1] http://activemq.apache.org/maven/activemq-core/apidocs/org/apache/activemq/pool/PooledConnectionFactory.html

> For sending message asynchrounously, should I be using the jms.useAsyncSend
> on the connection? Will this send message asynchronously if multiple threads
> are using the same session?
>
> thanks!
> jaya
>
>
> Filip Hanik - Dev Lists wrote:
>>
>> aah, I see, the issue you are running into is a global lock on the
>> session,
>> only one message can be sent at a time on the same session.
>> so if you have multiple threads using the same session, it will send the
>> requests, one at a time
>>
>> you are probably sending messages synchronously, as opposed to async,
>> which is why you see the blocking threads
>>
>> Filip
>>
>> jaya_srini wrote:
>>> Thanks much for the response Fillip.
>>>
>>> Can you explain what the producerFlowControl setting does? And what other
>>> options if any I can set?
>>>
>>> >From activemQ admin page I see that the messages are being consumed at
>>> the
>>> same rate as being produced. I have 4 producers that are also consumers.
>>> Currently the consumers when they receive the message just log it to a
>>> log
>>> file.
>>>
>>>
>>> Filip Hanik - Dev Lists wrote:
>>>
>>>> that means youre producing messages faster than they are being consumed.
>>>>
>>>> you could setup a policy entry to turn off flow control
>>>>
>>>> <policyEntry topic="topicname" producerFlowControl="false"
>>>> memoryLimit="10mb"/>
>>>>
>>>> <policyEntry queue="queuename" producerFlowControl="false"
>>>> memoryLimit="10mb"/>
>>>>
>>>> however, if your consumers never catch up, then you need to decide what
>>>> you wanna do with your messages, as eventually you will run out of
>>>> resources, being it memory or disk space that holds all the messages.
>>>>
>>>> the <policyEntry> element has a bunch of sub element that you can setup
>>>> to control other needs
>>>>
>>>> Filip
>>>>
>>>> jaya_srini wrote:
>>>>
>>>>> hi
>>>>>
>>>>> We are using ActiveMQ 5.0 release and observing the following on
>>>>> production.
>>>>> After a certain number of messages are sent the Activemq send blocks.
>>>>> The
>>>>> thread dump produced the following
>>>>>
>>>>> daemon prio=6 tid=0x3793f400 nid=0x1f28 waiting for monitor entry
>>>>> [0x38aff000..0x38affc98]
>>>>>    java.lang.Thread.State: BLOCKED (on object monitor)
>>>>>    at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1587)
>>>>>    - waiting to lock <0x07c45ea0> (a java.lang.Object)
>>>>>    at
>>>>> org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:226)
>>>>>    at
>>>>> org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:268)
>>>>>    at
>>>>> org.apache.activemq.ActiveMQTopicPublisher.publish(ActiveMQTopicPublisher.java:146)
>>>>>
>>>>>
>>>>> The connection URI looks like the following
>>>>>
>>>>> failover:(tcp://10.11.12.13:61616?wireFormat.maxInactivityDuration=-1)
>>>>>
>>>>> I am not sure if jms.useAsyncSend=true or jms.dispatchAsync=true will
>>>>> work
>>>>> with a failover transport.
>>>>>
>>>>> Can someone please help me troubleshoot this? Will increasing the
>>>>> memory
>>>>> limit on the broker help?
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>>
>
> --
> View this message in context: http://www.nabble.com/Need-Help-with-blocking-Producer%21-tp17141146s2354p17170578.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>



-- 
Regards,
Hiram

Blog: http://hiramchirino.com

Open Source SOA
http://open.iona.com

Mime
View raw message