qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shyamal Pandya1 <Shyamal_Pand...@symantec.com>
Subject qpid Java client keeps sending messages even if underlying session/connection does not exist
Date Sat, 12 May 2012 10:45:21 GMT

I have a C++ QPID broker, to which a Java client sends messages (asynchronously). The broker
and client versions are 0.14. I also have the qpid message store enabled.

Whenever the queue reaches 80 % of its capacity, the broker closes the underlying session/connection.
I verify this by running qpid-stat -c and see no connections from the client.
However, the client somehow keeps sending messages, there is no exception thrown. Only when
a session.sync() is perform does it time out with a "Session DETACHED" error.

Is this a bug, or am I doing something wrong?

Code snippet:


            BytesMessage msg = qpidSession.createBytesMessage();



            publisher.publish(msg); // Shouldn't this throw an exception if the underlying
connection is no longer there?

            // sync after every N messages
            if(++msgCount >= MSG_SYNC_COUNT)
                qpidSession.sync(); // This is where the error is thrown.
                msgCount = 0;

        catch (JMSException e)
            if (e.getErrorCode() != null)
                log.error("JMSException error code: " + e.getErrorCode());

            if (e.getLinkedException() != null)
                log.error("JMSException linked exception: "+ e);

            throw e;


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message