You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2023/08/17 05:15:39 UTC

[camel] branch main updated: CAMEL-19748: fixed catching Throwables in camel-base-engine (#11116)

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 cddff2d0cec CAMEL-19748: fixed catching Throwables in camel-base-engine (#11116)
cddff2d0cec is described below

commit cddff2d0cecb860f77da2f5b705f0034d256b9cf
Author: Otavio Rodolfo Piske <or...@users.noreply.github.com>
AuthorDate: Thu Aug 17 07:15:32 2023 +0200

    CAMEL-19748: fixed catching Throwables in camel-base-engine (#11116)
---
 .../main/java/org/apache/camel/impl/debugger/DefaultDebugger.java   | 6 +++---
 .../src/main/java/org/apache/camel/impl/engine/AdviceIterator.java  | 2 +-
 .../org/apache/camel/impl/engine/BaseExecutorServiceManager.java    | 2 +-
 .../java/org/apache/camel/impl/engine/CamelInternalProcessor.java   | 4 ++--
 .../java/org/apache/camel/impl/engine/CamelPostProcessorHelper.java | 2 +-
 .../apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java | 2 +-
 .../java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java  | 2 +-
 .../java/org/apache/camel/impl/engine/DefaultReactiveExecutor.java  | 4 ++--
 .../java/org/apache/camel/impl/engine/DefaultShutdownStrategy.java  | 4 ++--
 .../main/java/org/apache/camel/impl/engine/DefaultUnitOfWork.java   | 6 +++---
 .../main/java/org/apache/camel/impl/engine/DurationRoutePolicy.java | 2 +-
 .../org/apache/camel/impl/engine/SharedCamelInternalProcessor.java  | 6 +++---
 .../java/org/apache/camel/impl/engine/SubscribeMethodProcessor.java | 2 +-
 13 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/DefaultDebugger.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/DefaultDebugger.java
index 9c01912479a..58167174026 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/DefaultDebugger.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/DefaultDebugger.java
@@ -283,7 +283,7 @@ public class DefaultDebugger extends ServiceSupport implements Debugger, CamelCo
     protected void onBeforeProcess(Exchange exchange, Processor processor, NamedNode definition, Breakpoint breakpoint) {
         try {
             breakpoint.beforeProcess(exchange, processor, definition);
-        } catch (Throwable e) {
+        } catch (Exception e) {
             // ignore
         }
     }
@@ -292,7 +292,7 @@ public class DefaultDebugger extends ServiceSupport implements Debugger, CamelCo
             Exchange exchange, Processor processor, NamedNode definition, long timeTaken, Breakpoint breakpoint) {
         try {
             breakpoint.afterProcess(exchange, processor, definition, timeTaken);
-        } catch (Throwable e) {
+        } catch (Exception e) {
             // ignore
         }
     }
@@ -306,7 +306,7 @@ public class DefaultDebugger extends ServiceSupport implements Debugger, CamelCo
 
         try {
             breakpoint.onEvent(exchange, event, definition);
-        } catch (Throwable e) {
+        } catch (Exception e) {
             // ignore
         }
     }
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AdviceIterator.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AdviceIterator.java
index 4ec157d9af4..1d59763bd0d 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AdviceIterator.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AdviceIterator.java
@@ -36,7 +36,7 @@ final class AdviceIterator {
             }
             try {
                 task.after(exchange, state);
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 exchange.setException(e);
                 // allow all advices to complete even if there was an exception
             }
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/BaseExecutorServiceManager.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/BaseExecutorServiceManager.java
index ed0a926e0a9..ea7f8c8a482 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/BaseExecutorServiceManager.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/BaseExecutorServiceManager.java
@@ -474,7 +474,7 @@ public class BaseExecutorServiceManager extends ServiceSupport implements Execut
                     if (warned) {
                         forced.add(executorService);
                     }
-                } catch (Throwable e) {
+                } catch (Exception e) {
                     // only log if something goes wrong as we want to shutdown them all
                     LOG.warn("Error occurred during shutdown of ExecutorService: {}. This exception will be ignored.", 
                           executorService, e);
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java
index 79229d7fbd6..af24a796b0f 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java
@@ -327,7 +327,7 @@ public class CamelInternalProcessor extends DelegateAsyncProcessor implements In
                 if (task.hasState()) {
                     states[j++] = state;
                 }
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 // error in before so break out
                 exchange.setException(e);
                 try {
@@ -356,7 +356,7 @@ public class CamelInternalProcessor extends DelegateAsyncProcessor implements In
                 // ----------------------------------------------------------
                 // CAMEL END USER - DEBUG ME HERE +++ END +++
                 // ----------------------------------------------------------
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 exchange.setException(e);
             } finally {
                 // processing is done
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelPostProcessorHelper.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelPostProcessorHelper.java
index 83b007ea8de..18ac9934660 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelPostProcessorHelper.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelPostProcessorHelper.java
@@ -376,7 +376,7 @@ public class CamelPostProcessorHelper implements CamelContextAware {
                 // attempt to create a new instance
                 try {
                     bean = ecc.getInjector().newInstance(type);
-                } catch (Throwable e) {
+                } catch (Exception e) {
                     // ignore
                     return null;
                 }
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java
index c62abeb7551..719cb881325 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java
@@ -236,7 +236,7 @@ public class DefaultAsyncProcessorAwaitManager extends ServiceSupport implements
                 for (AwaitThread entry : threads) {
                     try {
                         interrupt(entry.getExchange());
-                    } catch (Throwable e) {
+                    } catch (Exception e) {
                         LOG.warn("Error while interrupting thread: {}. This exception is ignored.",
                                 entry.getBlockedThread().getName(),
                                 e);
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
index fd0013ca503..cebf926661a 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
@@ -224,7 +224,7 @@ public class DefaultConsumerTemplate extends ServiceSupport implements ConsumerT
                 // done the unit of work
                 exchange.getUnitOfWork().done(exchange);
             }
-        } catch (Throwable e) {
+        } catch (Exception e) {
             LOG.warn("Exception occurred during done UnitOfWork for Exchange: {}. This exception will be ignored.",
                     exchange, e);
         }
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultReactiveExecutor.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultReactiveExecutor.java
index 35a05842cf6..b0f2806917b 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultReactiveExecutor.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultReactiveExecutor.java
@@ -194,7 +194,7 @@ public class DefaultReactiveExecutor extends ServiceSupport implements ReactiveE
                         LOG.trace("Worker #{} running: {}", number, polled);
                     }
                     polled.run();
-                } catch (Throwable t) {
+                } catch (Exception t) {
                     LOG.warn("Error executing reactive work due to {}. This exception is ignored.",
                             t.getMessage(), t);
                 }
@@ -214,7 +214,7 @@ public class DefaultReactiveExecutor extends ServiceSupport implements ReactiveE
                     LOG.trace("Running: {}", polled);
                 }
                 polled.run();
-            } catch (Throwable t) {
+            } catch (Exception t) {
                 // should not happen
                 LOG.warn("Error executing reactive work due to {}. This exception is ignored.", t.getMessage(), t);
             }
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultShutdownStrategy.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultShutdownStrategy.java
index beeb97e159c..19b24fa0fed 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultShutdownStrategy.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultShutdownStrategy.java
@@ -431,7 +431,7 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
         // allow us to do custom work before delegating to service helper
         try {
             ServiceHelper.stopService(consumer);
-        } catch (Throwable e) {
+        } catch (Exception e) {
             LOG.warn("Error occurred while shutting down route: {}. This exception will be ignored.", routeId, e);
             // fire event
             EventHelper.notifyServiceStopFailure(consumer.getEndpoint().getCamelContext(), consumer, e);
@@ -452,7 +452,7 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
         // allow us to do custom work before delegating to service helper
         try {
             ServiceHelper.suspendService(consumer);
-        } catch (Throwable e) {
+        } catch (Exception e) {
             LOG.warn("Error occurred while suspending route: {}. This exception will be ignored.", routeId, e);
             // fire event
             EventHelper.notifyServiceStopFailure(consumer.getEndpoint().getCamelContext(), consumer, e);
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultUnitOfWork.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultUnitOfWork.java
index 7e237e3d085..dbbf1af44ad 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultUnitOfWork.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultUnitOfWork.java
@@ -147,7 +147,7 @@ public class DefaultUnitOfWork implements UnitOfWork {
         if (context.getCamelContextExtension().isEventNotificationApplicable()) {
             try {
                 EventHelper.notifyExchangeCreated(context, exchange);
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 // must catch exceptions to ensure the exchange is not failing due to notification event failed
                 log.warn("Exception occurred during event notification. This exception will be ignored.", e);
             }
@@ -261,7 +261,7 @@ public class DefaultUnitOfWork implements UnitOfWork {
                 } else {
                     EventHelper.notifyExchangeDone(exchange.getContext(), exchange);
                 }
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 // must catch exceptions to ensure synchronizations is also invoked
                 log.warn("Exception occurred during event notification. This exception will be ignored.", e);
             }
@@ -277,7 +277,7 @@ public class DefaultUnitOfWork implements UnitOfWork {
                 if (pooled.isAutoRelease()) {
                     ((PooledExchange) exchange).done();
                 }
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 // must catch exceptions to ensure synchronizations is also invoked
                 log.warn("Exception occurred during exchange done. This exception will be ignored.", e);
             }
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DurationRoutePolicy.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DurationRoutePolicy.java
index fe5d8e9d2e6..e658eaf3e18 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DurationRoutePolicy.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DurationRoutePolicy.java
@@ -189,7 +189,7 @@ public class DurationRoutePolicy extends org.apache.camel.support.RoutePolicySup
                     LOG.info("Suspending all routes {}", tail);
                     camelContext.suspend();
                 }
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 LOG.warn("Error performing action: {}", action, e);
             }
         };
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SharedCamelInternalProcessor.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SharedCamelInternalProcessor.java
index d5ce963bca5..f8b3de187e9 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SharedCamelInternalProcessor.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SharedCamelInternalProcessor.java
@@ -159,7 +159,7 @@ public class SharedCamelInternalProcessor implements SharedInternalProcessor {
                 if (task.hasState()) {
                     states[j++] = state;
                 }
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 exchange.setException(e);
                 originalCallback.done(true);
                 return true;
@@ -185,7 +185,7 @@ public class SharedCamelInternalProcessor implements SharedInternalProcessor {
             // ----------------------------------------------------------
             try {
                 processor.process(exchange);
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 exchange.setException(e);
             }
             // ----------------------------------------------------------
@@ -254,7 +254,7 @@ public class SharedCamelInternalProcessor implements SharedInternalProcessor {
             if (resultProcessor != null) {
                 try {
                     resultProcessor.process(exchange);
-                } catch (Throwable e) {
+                } catch (Exception e) {
                     exchange.setException(e);
                 }
             }
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SubscribeMethodProcessor.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SubscribeMethodProcessor.java
index 0e8614fc2d5..bf186a68fcd 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SubscribeMethodProcessor.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SubscribeMethodProcessor.java
@@ -80,7 +80,7 @@ public final class SubscribeMethodProcessor extends AsyncProcessorSupport implem
                     return entry.getKey().process(exchange, callback);
                 }
             }
-        } catch (Throwable e) {
+        } catch (Exception e) {
             exchange.setException(e);
         }
         callback.done(true);