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