This is an automated email from the ASF dual-hosted git repository.

orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 0741f993f1e CAMEL-19748: fixed catching Throwable in 
camel-core-processor (#11115)
0741f993f1e is described below

commit 0741f993f1ecd9b731e5a071cf6598926092d11d
Author: Otavio Rodolfo Piske <orpi...@users.noreply.github.com>
AuthorDate: Thu Aug 17 07:15:27 2023 +0200

    CAMEL-19748: fixed catching Throwable in camel-core-processor (#11115)
---
 .../main/java/org/apache/camel/processor/ChoiceProcessor.java  |  2 +-
 .../java/org/apache/camel/processor/ClaimCheckProcessor.java   |  2 +-
 .../java/org/apache/camel/processor/DelayProcessorSupport.java |  2 +-
 .../src/main/java/org/apache/camel/processor/Enricher.java     |  2 +-
 .../apache/camel/processor/EvaluateExpressionProcessor.java    |  2 +-
 .../java/org/apache/camel/processor/EventNotifierProducer.java |  2 +-
 .../src/main/java/org/apache/camel/processor/LogProcessor.java |  4 ++--
 .../java/org/apache/camel/processor/MulticastProcessor.java    | 10 +++++-----
 .../src/main/java/org/apache/camel/processor/Pipeline.java     |  2 +-
 .../src/main/java/org/apache/camel/processor/PollEnricher.java |  4 ++--
 .../java/org/apache/camel/processor/PooledTaskFactory.java     |  4 ++--
 .../src/main/java/org/apache/camel/processor/Resequencer.java  |  4 ++--
 .../java/org/apache/camel/processor/RestBindingAdvice.java     |  2 +-
 .../src/main/java/org/apache/camel/processor/RoutingSlip.java  |  2 +-
 .../main/java/org/apache/camel/processor/ScriptProcessor.java  |  2 +-
 .../java/org/apache/camel/processor/SendDynamicProcessor.java  |  8 ++++----
 .../main/java/org/apache/camel/processor/SendProcessor.java    |  2 +-
 .../main/java/org/apache/camel/processor/SetBodyProcessor.java |  2 +-
 .../java/org/apache/camel/processor/SetHeaderProcessor.java    |  2 +-
 .../java/org/apache/camel/processor/SetPropertyProcessor.java  |  2 +-
 .../main/java/org/apache/camel/processor/StepProcessor.java    |  2 +-
 .../java/org/apache/camel/processor/StreamResequencer.java     |  2 +-
 .../main/java/org/apache/camel/processor/ThreadsProcessor.java |  2 +-
 .../org/apache/camel/processor/ThrowExceptionProcessor.java    |  2 +-
 .../java/org/apache/camel/processor/TransformProcessor.java    |  2 +-
 .../main/java/org/apache/camel/processor/WireTapProcessor.java |  2 +-
 .../apache/camel/processor/aggregate/AggregateProcessor.java   |  8 ++++----
 .../camel/processor/errorhandler/RedeliveryErrorHandler.java   |  8 ++++----
 28 files changed, 45 insertions(+), 45 deletions(-)

diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/ChoiceProcessor.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/ChoiceProcessor.java
index be781ec1ee3..b656d584ce9 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/ChoiceProcessor.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/ChoiceProcessor.java
@@ -69,7 +69,7 @@ public class ChoiceProcessor extends AsyncProcessorSupport 
implements Navigate<P
             boolean matches = false;
             try {
                 matches = filter.matches(exchange);
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 exchange.setException(e);
             }
 
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckProcessor.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckProcessor.java
index 3af4cd0dd9c..de4c47a3bc6 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckProcessor.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckProcessor.java
@@ -176,7 +176,7 @@ public class ClaimCheckProcessor extends 
AsyncProcessorSupport implements IdAwar
                     }
                 }
             }
-        } catch (Throwable e) {
+        } catch (Exception e) {
             exchange.setException(e);
         }
 
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/DelayProcessorSupport.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/DelayProcessorSupport.java
index 0e1d0c269af..8f8c17b7037 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/DelayProcessorSupport.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/DelayProcessorSupport.java
@@ -171,7 +171,7 @@ public abstract class DelayProcessorSupport extends 
DelegateAsyncProcessor {
                 }
                 return processor.process(exchange, callback);
             }
-        } catch (Throwable e) {
+        } catch (Exception e) {
             exchange.setException(e);
             callback.done(true);
             return true;
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/Enricher.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/Enricher.java
index 2a60c7818a4..38393021350 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/Enricher.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/Enricher.java
@@ -177,7 +177,7 @@ public class Enricher extends AsyncProcessorSupport 
implements IdAware, RouteIdA
                                 
resourceExchange.getExchangeExtension().handoverCompletions(exchange);
                             }
                         }
-                    } catch (Throwable e) {
+                    } catch (Exception e) {
                         // if the aggregationStrategy threw an exception, set 
it on the original exchange
                         exchange.setException(new 
CamelExchangeException("Error occurred during aggregation", exchange, e));
                     }
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/EvaluateExpressionProcessor.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/EvaluateExpressionProcessor.java
index 420ffae078e..80814a73425 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/EvaluateExpressionProcessor.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/EvaluateExpressionProcessor.java
@@ -42,7 +42,7 @@ public class EvaluateExpressionProcessor extends 
AsyncProcessorSupport implement
         try {
             Object result = expression.evaluate(exchange, Object.class);
             
exchange.setProperty(ExchangePropertyKey.EVALUATE_EXPRESSION_RESULT, result);
-        } catch (Throwable e) {
+        } catch (Exception e) {
             exchange.setException(e);
         } finally {
             callback.done(true);
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/EventNotifierProducer.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/EventNotifierProducer.java
index b82a40ed563..380f04e2166 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/EventNotifierProducer.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/EventNotifierProducer.java
@@ -81,7 +81,7 @@ public final class EventNotifierProducer extends 
DefaultAsyncProducer {
                     }
                 }
             });
-        } catch (Throwable throwable) {
+        } catch (Exception throwable) {
             exchange.setException(throwable);
             callback.done(true);
         }
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/LogProcessor.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/LogProcessor.java
index 411794eb1a0..764f5d79086 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/LogProcessor.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/LogProcessor.java
@@ -79,7 +79,7 @@ public class LogProcessor extends AsyncProcessorSupport 
implements Traceable, Id
                     msg = fireListeners(exchange, msg);
                 }
                 logger.doLog(msg);
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 exchange.setException(e);
             }
         }
@@ -95,7 +95,7 @@ public class LogProcessor extends AsyncProcessorSupport 
implements Traceable, Id
             try {
                 String output = listener.onLog(exchange, logger, message);
                 message = output != null ? output : message;
-            } catch (Throwable t) {
+            } catch (Exception t) {
                 LOG.warn("Ignoring an exception thrown by {}: {}", 
listener.getClass().getName(), t.getMessage());
                 if (LOG.isDebugEnabled()) {
                     LOG.debug("", t);
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/MulticastProcessor.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/MulticastProcessor.java
index 7c967d985a8..14638d95674 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/MulticastProcessor.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/MulticastProcessor.java
@@ -310,7 +310,7 @@ public class MulticastProcessor extends 
AsyncProcessorSupport
                         return doProcess(exchange, callback);
                     }
                 }, exchange);
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 exchange.setException(e);
             } finally {
                 callback.done(true);
@@ -329,7 +329,7 @@ public class MulticastProcessor extends 
AsyncProcessorSupport
             if (pairs instanceof Collection) {
                 size = ((Collection<ProcessorExchangePair>) pairs).size();
             }
-        } catch (Throwable e) {
+        } catch (Exception e) {
             exchange.setException(e);
             // unexpected exception was thrown, maybe from iterator etc. so do 
not regard as exhausted
             // and do the done work
@@ -474,7 +474,7 @@ public class MulticastProcessor extends 
AsyncProcessorSupport
                             doDone(result.get(), true);
                         }
                     }
-                } catch (Throwable e) {
+                } catch (Exception e) {
                     original.setException(e);
                     // and do the done work
                     doDone(null, false);
@@ -502,7 +502,7 @@ public class MulticastProcessor extends 
AsyncProcessorSupport
                         }
                     }
                     doDone(result.get(), true);
-                } catch (Throwable e) {
+                } catch (Exception e) {
                     original.setException(e);
                     // and do the done work
                     doDone(null, false);
@@ -849,7 +849,7 @@ public class MulticastProcessor extends 
AsyncProcessorSupport
                 for (ProcessorExchangePair pair : pairs) {
                     processorExchangeFactory.release(pair.getExchange());
                 }
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 LOG.warn("Error releasing exchange due to {}. This exception 
is ignored.", e.getMessage(), e);
             }
         }
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/Pipeline.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/Pipeline.java
index 9f20c5b950e..95fa1d390b0 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/Pipeline.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/Pipeline.java
@@ -163,7 +163,7 @@ public class Pipeline extends AsyncProcessorSupport 
implements Navigate<Processo
                 reactiveExecutor.scheduleMain(task);
             }
             return false;
-        } catch (Throwable e) {
+        } catch (Exception e) {
             exchange.setException(e);
             callback.done(true);
             return true;
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/PollEnricher.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/PollEnricher.java
index 99e9c6734af..b820f383017 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/PollEnricher.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/PollEnricher.java
@@ -226,7 +226,7 @@ public class PollEnricher extends AsyncProcessorSupport 
implements IdAware, Rout
             }
             // acquire the consumer from the cache
             consumer = consumerCache.acquirePollingConsumer(endpoint);
-        } catch (Throwable e) {
+        } catch (Exception e) {
             if (isIgnoreInvalidEndpoint()) {
                 LOG.debug("Endpoint uri is invalid: {}. This exception will be 
ignored.", recipient, e);
             } else {
@@ -339,7 +339,7 @@ public class PollEnricher extends AsyncProcessorSupport 
implements IdAware, Rout
             // set property with the uri of the endpoint enriched so we can 
use that for tracing etc
             exchange.setProperty(ExchangePropertyKey.TO_ENDPOINT, 
consumer.getEndpoint().getEndpointUri());
 
-        } catch (Throwable e) {
+        } catch (Exception e) {
             exchange.setException(new CamelExchangeException("Error occurred 
during aggregation", exchange, e));
             callback.done(true);
             return true;
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/PooledTaskFactory.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/PooledTaskFactory.java
index 18d26707257..56668838ccf 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/PooledTaskFactory.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/PooledTaskFactory.java
@@ -49,7 +49,7 @@ public abstract class PooledTaskFactory extends 
PooledObjectFactorySupport<Poole
         }
         try {
             task.prepare(exchange, callback);
-        } catch (Throwable e) {
+        } catch (Exception e) {
             // if error during prepare then we need to discard this task
             if (statisticsEnabled) {
                 statistics.discarded.increment();
@@ -72,7 +72,7 @@ public abstract class PooledTaskFactory extends 
PooledObjectFactorySupport<Poole
                 }
             }
             return inserted;
-        } catch (Throwable e) {
+        } catch (Exception e) {
             if (statisticsEnabled) {
                 statistics.discarded.increment();
             }
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/Resequencer.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/Resequencer.java
index 355fc7705d3..7bf6b6a95d0 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/Resequencer.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/Resequencer.java
@@ -377,7 +377,7 @@ public class Resequencer extends AsyncProcessorSupport 
implements Navigate<Proce
                 // exchange is valid so enqueue the exchange
                 sender.enqueueExchange(exchange);
             }
-        } catch (Throwable e) {
+        } catch (Exception e) {
             exchange.setException(e);
         }
         callback.done(true);
@@ -482,7 +482,7 @@ public class Resequencer extends AsyncProcessorSupport 
implements Navigate<Proce
                         try {
                             try {
                                 sendExchanges();
-                            } catch (Throwable t) {
+                            } catch (Exception t) {
                                 // a fail safe to handle all exceptions being 
thrown
                                 getExceptionHandler().handleException(t);
                             }
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/RestBindingAdvice.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/RestBindingAdvice.java
index b6737e9f545..e711d332ec0 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/RestBindingAdvice.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/RestBindingAdvice.java
@@ -478,7 +478,7 @@ public class RestBindingAdvice implements 
CamelInternalProcessorAdvice<Map<Strin
                     }
                 }
             }
-        } catch (Throwable e) {
+        } catch (Exception e) {
             exchange.setException(e);
         }
     }
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/RoutingSlip.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/RoutingSlip.java
index 5cec27897ea..d023d3bc406 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/RoutingSlip.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/RoutingSlip.java
@@ -526,7 +526,7 @@ public class RoutingSlip extends AsyncProcessorSupport 
implements Traceable, IdA
 
                         // copy results back to the original exchange
                         ExchangeHelper.copyResults(original, current);
-                    } catch (Throwable e) {
+                    } catch (Exception e) {
                         ex.setException(e);
                     }
 
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/ScriptProcessor.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/ScriptProcessor.java
index c1756d37f40..f78d264e2bf 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/ScriptProcessor.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/ScriptProcessor.java
@@ -42,7 +42,7 @@ public class ScriptProcessor extends AsyncProcessorSupport 
implements Traceable,
     public boolean process(Exchange exchange, AsyncCallback callback) {
         try {
             expression.evaluate(exchange, Object.class);
-        } catch (Throwable e) {
+        } catch (Exception e) {
             exchange.setException(e);
         }
 
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendDynamicProcessor.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendDynamicProcessor.java
index a99e4aadc0d..fc842482972 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendDynamicProcessor.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendDynamicProcessor.java
@@ -160,7 +160,7 @@ public class SendDynamicProcessor extends 
AsyncProcessorSupport implements IdAwa
                 prototype = false;
             }
             destinationExchangePattern = 
EndpointHelper.resolveExchangePatternFromUrl(endpoint.getEndpointUri());
-        } catch (Throwable e) {
+        } catch (Exception e) {
             if (isIgnoreInvalidEndpoint()) {
                 if (LOG.isDebugEnabled()) {
                     LOG.debug("Endpoint uri is invalid: {}. This exception 
will be ignored.", recipient, e);
@@ -184,7 +184,7 @@ public class SendDynamicProcessor extends 
AsyncProcessorSupport implements IdAwa
                 if (preProcessor != null) {
                     preProcessor.process(target);
                 }
-            } catch (Throwable t) {
+            } catch (Exception t) {
                 e.setException(t);
                 // restore previous MEP
                 target.setPattern(existingPattern);
@@ -201,7 +201,7 @@ public class SendDynamicProcessor extends 
AsyncProcessorSupport implements IdAwa
                         if (postProcessor != null) {
                             postProcessor.process(target);
                         }
-                    } catch (Throwable e) {
+                    } catch (Exception e) {
                         target.setException(e);
                     }
                     // stop endpoint if prototype as it was only used once
@@ -339,7 +339,7 @@ public class SendDynamicProcessor extends 
AsyncProcessorSupport implements IdAwa
                         }
                     }
                 }
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 // ignore
                 if (LOG.isDebugEnabled()) {
                     LOG.debug(
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendProcessor.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendProcessor.java
index 9992afff914..516da700ce2 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendProcessor.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendProcessor.java
@@ -174,7 +174,7 @@ public class SendProcessor extends AsyncProcessorSupport 
implements Traceable, E
                     
EventHelper.notifyExchangeAsyncProcessingStartedEvent(camelContext, exchange);
                 }
                 return sync;
-            } catch (Throwable throwable) {
+            } catch (Exception throwable) {
                 exchange.setException(throwable);
                 callback.done(true);
             }
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetBodyProcessor.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetBodyProcessor.java
index 086ec0bcafb..b41cc99a14e 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetBodyProcessor.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetBodyProcessor.java
@@ -67,7 +67,7 @@ public class SetBodyProcessor extends AsyncProcessorSupport 
implements Traceable
                 old.setBody(newBody);
             }
 
-        } catch (Throwable e) {
+        } catch (Exception e) {
             exchange.setException(e);
         }
 
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetHeaderProcessor.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetHeaderProcessor.java
index 7b29152e65e..8f162fad9c9 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetHeaderProcessor.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetHeaderProcessor.java
@@ -58,7 +58,7 @@ public class SetHeaderProcessor extends AsyncProcessorSupport 
implements Traceab
             String key = headerName.evaluate(exchange, String.class);
             old.setHeader(key, newHeader);
 
-        } catch (Throwable e) {
+        } catch (Exception e) {
             exchange.setException(e);
         }
 
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetPropertyProcessor.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetPropertyProcessor.java
index 25219440836..361c78e78ac 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetPropertyProcessor.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetPropertyProcessor.java
@@ -54,7 +54,7 @@ public class SetPropertyProcessor extends 
AsyncProcessorSupport implements Trace
 
             String key = propertyName.evaluate(exchange, String.class);
             exchange.setProperty(key, newProperty);
-        } catch (Throwable e) {
+        } catch (Exception e) {
             exchange.setException(e);
         }
 
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/StepProcessor.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/StepProcessor.java
index 9647c11bbc3..a8f725b1f0b 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/StepProcessor.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/StepProcessor.java
@@ -65,7 +65,7 @@ public class StepProcessor extends Pipeline {
                 } else {
                     EventHelper.notifyStepDone(exchange.getContext(), 
exchange, stepId);
                 }
-            } catch (Throwable t) {
+            } catch (Exception t) {
                 // must catch exceptions to ensure synchronizations is also 
invoked
                 LOG.warn("Exception occurred during event notification. This 
exception will be ignored.", t);
             } finally {
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/StreamResequencer.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/StreamResequencer.java
index 0430d6a93bc..76730878569 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/StreamResequencer.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/StreamResequencer.java
@@ -307,7 +307,7 @@ public class StreamResequencer extends AsyncProcessorSupport
                 }
                 try {
                     engine.deliver();
-                } catch (Throwable t) {
+                } catch (Exception t) {
                     // a fail-safe to handle all exceptions being thrown
                     getExceptionHandler().handleException(t);
                 }
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/ThreadsProcessor.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/ThreadsProcessor.java
index 072fcbbef18..48731414e82 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/ThreadsProcessor.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/ThreadsProcessor.java
@@ -132,7 +132,7 @@ public class ThreadsProcessor extends AsyncProcessorSupport 
implements IdAware,
             executorService.submit(call);
             // tell Camel routing engine we continue routing asynchronous
             return false;
-        } catch (Throwable e) {
+        } catch (Exception e) {
             if (executorService instanceof ThreadPoolExecutor) {
                 ThreadPoolExecutor tpe = (ThreadPoolExecutor) executorService;
                 // process the call in synchronous mode
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/ThrowExceptionProcessor.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/ThrowExceptionProcessor.java
index fdd7bc92da2..7feb51b2763 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/ThrowExceptionProcessor.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/ThrowExceptionProcessor.java
@@ -73,7 +73,7 @@ public class ThrowExceptionProcessor extends 
AsyncProcessorSupport
             } else {
                 exchange.setException(cause);
             }
-        } catch (Throwable e) {
+        } catch (Exception e) {
             Class<? extends Exception> exceptionClass = exception != null ? 
exception.getClass() : type;
             exchange.setException(
                     new CamelExchangeException("Error creating new instance of 
" + exceptionClass, exchange, e));
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/TransformProcessor.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/TransformProcessor.java
index 9791b1acc6c..570c27c19b4 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/TransformProcessor.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/TransformProcessor.java
@@ -74,7 +74,7 @@ public class TransformProcessor extends AsyncProcessorSupport 
implements Traceab
                 }
             }
 
-        } catch (Throwable e) {
+        } catch (Exception e) {
             exchange.setException(e);
         }
 
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/WireTapProcessor.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/WireTapProcessor.java
index 6462cff7845..c025f169672 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/WireTapProcessor.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/WireTapProcessor.java
@@ -203,7 +203,7 @@ public class WireTapProcessor extends AsyncProcessorSupport
             // create task which has state used during routing
             PooledExchangeTask task = taskFactory.acquire(target, null);
             executorService.submit(task);
-        } catch (Throwable e) {
+        } catch (Exception e) {
             // in case the thread pool rejects or cannot submit the task then 
we need to catch
             // so camel error handler can react
             exchange.setException(e);
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
index 8aad9ec5518..f5bfb2ebeeb 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
@@ -314,7 +314,7 @@ public class AggregateProcessor extends 
AsyncProcessorSupport
     public boolean process(Exchange exchange, AsyncCallback callback) {
         try {
             return doProcess(exchange, callback);
-        } catch (Throwable e) {
+        } catch (Exception e) {
             exchange.setException(e);
             callback.done(true);
             return true;
@@ -511,7 +511,7 @@ public class AggregateProcessor extends 
AsyncProcessorSupport
                 // remove it afterwards
                 
newExchange.removeProperty(ExchangePropertyKey.AGGREGATED_SIZE);
                 
newExchange.removeProperty(ExchangePropertyKey.AGGREGATED_CORRELATION_KEY);
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 // must catch any exception from aggregation
                 throw new CamelExchangeException("Error occurred during 
preComplete", newExchange, e);
             }
@@ -547,7 +547,7 @@ public class AggregateProcessor extends 
AsyncProcessorSupport
         boolean aggregateFailed = false;
         try {
             answer = onAggregation(oldExchange, newExchange);
-        } catch (Throwable e) {
+        } catch (Exception e) {
             aggregateFailed = true;
             if (isDiscardOnAggregationFailure()) {
                 // discard due failure in aggregation strategy
@@ -1438,7 +1438,7 @@ public class AggregateProcessor extends 
AsyncProcessorSupport
                                         
exchange.getExchangeExtension().setRedeliveryExhausted(false);
                                         exchange.setRollbackOnly(false);
                                         
deadLetterProducerTemplate.send(recoverable.getDeadLetterUri(), exchange);
-                                    } catch (Throwable e) {
+                                    } catch (Exception e) {
                                         exchange.setException(e);
                                     }
 
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
index 320bec4b600..fc17f1c3cc6 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
@@ -535,7 +535,7 @@ public abstract class RedeliveryErrorHandler extends 
ErrorHandlerSupport
                             onExceptionProcessor, exchange);
                 }
                 onExceptionProcessor.process(exchange);
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 // we dont not want new exception to override existing, so log 
it as a WARN
                 LOG.warn("Error during processing OnExceptionOccurred. This 
exception is ignored.", e);
             }
@@ -730,7 +730,7 @@ public abstract class RedeliveryErrorHandler extends 
ErrorHandlerSupport
 
             try {
                 doRun();
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 // unexpected exception during running so set exception and 
trigger callback
                 // (do not do taskFactory.release as that happens later)
                 exchange.setException(e);
@@ -1084,7 +1084,7 @@ public abstract class RedeliveryErrorHandler extends 
ErrorHandlerSupport
                             onExceptionProcessor, exchange);
                 }
                 onExceptionProcessor.process(exchange);
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 // we dont not want new exception to override existing, so log 
it as a WARN
                 LOG.warn("Error during processing OnExceptionOccurred. This 
exception is ignored.", e);
             }
@@ -1108,7 +1108,7 @@ public abstract class RedeliveryErrorHandler extends 
ErrorHandlerSupport
             // run this synchronously as its just a Processor
             try {
                 onRedeliveryProcessor.process(exchange);
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 exchange.setException(e);
             }
             LOG.trace("Redelivery processor done");

Reply via email to