You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2008/02/28 10:02:18 UTC

svn commit: r631896 - /servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/AbstractConsumerEndpoint.java

Author: gnodet
Date: Thu Feb 28 01:02:14 2008
New Revision: 631896

URL: http://svn.apache.org/viewvc?rev=631896&view=rev
Log:
SM-1254: Possible memory leak when the jms consumer can not send the response back to the broker

Modified:
    servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/AbstractConsumerEndpoint.java

Modified: servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/AbstractConsumerEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/AbstractConsumerEndpoint.java?rev=631896&r1=631895&r2=631896&view=diff
==============================================================================
--- servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/AbstractConsumerEndpoint.java (original)
+++ servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/AbstractConsumerEndpoint.java Thu Feb 28 01:02:14 2008
@@ -375,8 +375,13 @@
                 throw new IllegalStateException("Unable to send back answer or fault");
             }
             setCorrelationId(context.getMessage(), msg);
-            send(msg, session, dest);
-            done(exchange);
+            try {
+                send(msg, session, dest);
+                done(exchange);
+            } catch (Exception e) {
+                fail(exchange, e);
+                throw e;
+            }
         } else if (exchange.getStatus() == ExchangeStatus.ERROR) {
             Exception error = exchange.getError();
             if (error == null) {