You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2008/03/26 17:25:22 UTC

svn commit: r641379 - /activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java

Author: jstrachan
Date: Wed Mar 26 09:25:22 2008
New Revision: 641379

URL: http://svn.apache.org/viewvc?rev=641379&view=rev
Log:
deal with timeout exceptions a little neater

Modified:
    activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java

Modified: activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java?rev=641379&r1=641378&r2=641379&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java (original)
+++ activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java Wed Mar 26 09:25:22 2008
@@ -18,6 +18,8 @@
 
 import java.util.concurrent.FutureTask;
 import java.util.concurrent.TimeUnit;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.TimeoutException;
 
 import javax.jms.Destination;
 import javax.jms.JMSException;
@@ -90,11 +92,23 @@
 
             // lets wait and return the response
             try {
-                Message message;
-                if (requestTimeout < 0) {
-                    message = (Message)future.get();
-                } else {
-                    message = (Message)future.get(requestTimeout, TimeUnit.MILLISECONDS);
+                Message message = null;
+                try {
+                    if (requestTimeout < 0) {
+                        message = (Message)future.get();
+                    } else {
+                        message = (Message)future.get(requestTimeout, TimeUnit.MILLISECONDS);
+                    }
+                }
+                catch (InterruptedException e) {
+                    if (LOG.isDebugEnabled()) {
+                        LOG.debug("Future interupted: " + e, e);
+                    }
+                }
+                catch (TimeoutException e) {
+                    if (LOG.isDebugEnabled()) {
+                        LOG.debug("Future timed out: " + e, e);
+                    }
                 }
                 if (message != null) {
                     exchange.setOut(new JmsMessage(message, endpoint.getBinding()));