You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Gordon Sim <gs...@redhat.com> on 2010/12/01 13:47:15 UTC
Re: Multi-Threading
On 11/26/2010 10:43 AM, gcutuli wrote:
>
> Dear all,
> I'm moving toward the implementation of a multithreading application based
> on QPID Messaging 0.7, and I experienced strange behaviors.
>
> This is the background:
>
> - subscription of N subjects with N different receivers (all of them under
> the same session)
> - running N different "diaspatching threads" for each receiver
>
> Basically, each "dispatcher" executes an infinite loop where messages are
> fetched from the related queue:
>
> for (;;)
> {
> msg = receiver.fetch(Duration::Forever);
> }
>
> After a random number of incoming messages, the library crashes (exactly on
> the "fetch" method) with one of the following exceptions:
> qpid::messaging::NoMessageAvailable or qpid::messaging::SessionError
Is there any more detail logged for the session errors, either on the
client or the broker? I suspect that may be the root cause of the issue.
> My suspect is that the native qpid session object is not designed to be used
> in a multi-threading scenario (in other words this object is not
> thread-safe).
It is supposed to be threadsafe (that doesn't of course rule out a bug
making it unsafe).
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org