You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ri...@apache.org on 2009/04/11 03:46:13 UTC
svn commit: r764145 - in
/qpid/branches/0.5-release/qpid/java/client/src/main/java/org/apache/qpid/client:
AMQSession.java BasicMessageConsumer.java
Author: ritchiem
Date: Sat Apr 11 01:46:12 2009
New Revision: 764145
URL: http://svn.apache.org/viewvc?rev=764145&view=rev
Log:
QPID-1779 : Fixed the close problem so that we only send Consumer/Session closes when we have a connnection available to send the frame.
merged from trunk r764140
Modified:
qpid/branches/0.5-release/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java
qpid/branches/0.5-release/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer.java
Modified: qpid/branches/0.5-release/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.5-release/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java?rev=764145&r1=764144&r2=764145&view=diff
==============================================================================
--- qpid/branches/0.5-release/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java (original)
+++ qpid/branches/0.5-release/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java Sat Apr 11 01:46:12 2009
@@ -633,6 +633,7 @@
// Ensure we only try and close an open session.
if (!_closed.getAndSet(true))
{
+ _closing.set(true);
synchronized (getFailoverMutex())
{
// We must close down all producers and consumers in an orderly fashion. This is the only method
@@ -644,8 +645,10 @@
try
{
- // IF we are closing then send the close.
- if (_connection.isClosing())
+ // If the connection is open or we are in the process
+ // of closing the connection then send a cance
+ // no point otherwise as the connection will be gone
+ if (!_connection.isClosed() || _connection.isClosing())
{
sendClose(timeout);
}
Modified: qpid/branches/0.5-release/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.5-release/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer.java?rev=764145&r1=764144&r2=764145&view=diff
==============================================================================
--- qpid/branches/0.5-release/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer.java (original)
+++ qpid/branches/0.5-release/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer.java Sat Apr 11 01:46:12 2009
@@ -543,6 +543,7 @@
if (!_closed.getAndSet(true))
{
+ _closing.set(true);
if (_logger.isDebugEnabled())
{
StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
@@ -563,7 +564,10 @@
{
try
{
- if (!_connection.isClosing())
+ // If the session is open or we are in the process
+ // of closing the session then send a cance
+ // no point otherwise as the connection will be gone
+ if (!_session.isClosed() || _session.isClosing())
{
sendCancel();
}
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org