On Thu, Mar 19, 2009 at 4:20 PM, orton <o_hu...@yahoo.com> wrote:
>
> Heard from a co-worker:
>
> When you send a message to the XMPP server (in this case, OpenFire) it sends
> a copy back to you and that message has to be dispatched or the queue on the
> client side will grow and eventually blow up. So it seems that its necessary
> to call muc.nextMessage().
>
> I did a quick mod to the Camel 2.0 XMPP component and added the
> nextMessage() call to try it out and it does appear to work without throwing
> the OOM exception.
>
> In XmppGroupChatProducer:
>
>  public void process(Exchange exchange) {
>   ...
>        }
>        try {
>            chat.sendMessage(message);
>            chat.nextMessage();
>        } catch (XMPPException e) {
>            throw new RuntimeXmppException(e);
>        }
>    }
>
>
> Same thing prolly has to be done for the XmppPrivateChatProducer
>
> Is this something you can add into the baseline code James?
Hi

Excellent. Can you create a ticket in JIRA, then we have a track
record of the changes in Camel
http://camel.apache.org/support.html

>
> Thanks!
>
>
> orton wrote:
>>
>> Hi James,
>>
>> I haven't had a chance to use JProbe yet, but will attempt that later
>> today
>>
>> A few things I noticed were:
>>
>> The Smack 3.0.4 client has a history of memory issues and there were
>> several threads on the Ignite forums regarding the memory issues. I did
>> some testing on my own on the Smack client and if I simply do continuous
>> muc.sendMessages, then I run into Out of Memory exceptions. Someone
>> suggested doing a muc.nextMessage() (which is basically a pull on the muc
>> room) after the sendMessage and that actually prevents the OOM error (it
>> also reduces the efficiency by quite a bit). I'll try with the Smack 3.1.0
>> libraries but I believe the issue still persists in the latest version.
>>
>> Though not a permanent fix, it might be useful until Ignite fixes all the
>> OOM issues with the Smack clients.
>>
>> Here are some references to the OOM errors at Ignite:
>> http://www.igniterealtime.org/community/message/189102
>>
>>
>>
>>
>>
>> James.Strachan wrote:
>>>
>>> Running your app using a profiler (either the one in the JDK or JProbe
>>> or something) would provide useful diagnostics as to what's hogging
>>> all the RAM - is it the Smack client or something in Camel.
>>>
>>> 2009/3/17 orton <o_hu...@yahoo.com>:
>>>>
>>>> Ran some more tests with more memory for the publisher and subscriber,
>>>> and it
>>>> still runs out of memory. If I give the the sending and receiving JVM
>>>> each
>>>>
>>>> -Xms256M -Xmx512M -Xmn40M
>>>>
>>>> It runs out of memory at around 54000 4KB messages sent and received.
>>>>
>>>> Doubling the memory causes it to die around 102000 4KB messages sent and
>>>> received
>>>>
>>>> Any help would be greatly appreciated! Thanks...
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/Camel-XMPP-1.6-2.0---OutOfMemoryError%3A-Java-heap-space-tp22485629p22562234.html
>>>> Sent from the Camel Development mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> James
>>> -------
>>> http://macstrac.blogspot.com/
>>>
>>> Open Source Integration
>>> http://fusesource.com/
>>>
>>>
>>
>>
>
> --
> View this message in context: 
> http://www.nabble.com/Camel-XMPP-1.6-2.0---OutOfMemoryError%3A-Java-heap-space-tp22485629p22601446.html
> Sent from the Camel Development mailing list archive at Nabble.com.
>
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/

Reply via email to