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 <orpi...@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);

Reply via email to