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()));