This is an automated email from the ASF dual-hosted git repository. orpiske pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push: new d3cc93f Avoid catching Throwable because it could also catch Java Errors that shouldn't be handled (#4958) d3cc93f is described below commit d3cc93f0942e16876970c2ad7e3845e723eeac0f Author: Otavio Rodolfo Piske <orpi...@users.noreply.github.com> AuthorDate: Fri Jan 29 13:02:36 2021 +0100 Avoid catching Throwable because it could also catch Java Errors that shouldn't be handled (#4958) Includes: camel-kafka, camel-zookeeper-master, camel-xmlsecurity, camel-tracing, camel-timer, camel-stomp, camel-netty, camel-nats --- .../main/java/org/apache/camel/component/kafka/KafkaConsumer.java | 2 +- .../main/java/org/apache/camel/component/kafka/KafkaEndpoint.java | 2 +- .../main/java/org/apache/camel/component/nats/NatsConsumer.java | 2 +- .../camel/component/netty/NettyConsumerExceptionHandler.java | 2 +- .../main/java/org/apache/camel/component/netty/NettyProducer.java | 2 +- .../main/java/org/apache/camel/component/stomp/StompConsumer.java | 2 +- .../main/java/org/apache/camel/component/timer/TimerConsumer.java | 2 +- .../src/main/java/org/apache/camel/tracing/Tracer.java | 8 ++++---- .../camel/component/xmlsecurity/processor/SantuarioUtil.java | 4 ++-- .../component/xmlsecurity/processor/XmlSignatureProcessor.java | 2 +- .../camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java | 4 ++-- .../group/internal/ManagedGroupFactoryBuilder.java | 2 +- 12 files changed, 17 insertions(+), 17 deletions(-) diff --git a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConsumer.java b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConsumer.java index 86064a0..eae650e 100644 --- a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConsumer.java +++ b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConsumer.java @@ -199,7 +199,7 @@ public class KafkaConsumer extends DefaultConsumer { // consumer doInit(); } - } catch (Throwable e) { + } catch (Exception e) { // ensure this is logged so users can see the problem LOG.warn("Error creating org.apache.kafka.clients.consumer.KafkaConsumer due {}", e.getMessage(), e); } diff --git a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaEndpoint.java b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaEndpoint.java index 3495c0c..2ffc47e 100644 --- a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaEndpoint.java +++ b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaEndpoint.java @@ -127,7 +127,7 @@ public class KafkaEndpoint extends DefaultEndpoint implements MultipleConsumersS replaceWithClass(props, ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, resolver, Deserializer.class); replaceWithClass(props, ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, resolver, Deserializer.class); } - } catch (Throwable t) { + } catch (Exception t) { // can ignore and Kafka itself might be able to handle it, if not, // it will throw an exception LOG.debug("Problem loading classes for Serializers", t); diff --git a/components/camel-nats/src/main/java/org/apache/camel/component/nats/NatsConsumer.java b/components/camel-nats/src/main/java/org/apache/camel/component/nats/NatsConsumer.java index a1d9d65..11b15d7 100644 --- a/components/camel-nats/src/main/java/org/apache/camel/component/nats/NatsConsumer.java +++ b/components/camel-nats/src/main/java/org/apache/camel/component/nats/NatsConsumer.java @@ -142,7 +142,7 @@ public class NatsConsumer extends DefaultConsumer { setActive(true); } } - } catch (Throwable e) { + } catch (Exception e) { getExceptionHandler().handleException("Error during processing", e); } diff --git a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsumerExceptionHandler.java b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsumerExceptionHandler.java index 5ef8657..85db34c 100644 --- a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsumerExceptionHandler.java +++ b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsumerExceptionHandler.java @@ -58,7 +58,7 @@ public class NettyConsumerExceptionHandler implements ExceptionHandler { } else { logger.log(msg, exception); } - } catch (Throwable e) { + } catch (Exception e) { // the logging exception handler must not cause new exceptions to occur } } diff --git a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyProducer.java b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyProducer.java index 0b74d89..de24c65 100644 --- a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyProducer.java +++ b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyProducer.java @@ -665,7 +665,7 @@ public class NettyProducer extends DefaultAsyncProducer { try { processWithConnectedChannel(exchange, callback, future, body); - } catch (Throwable e) { + } catch (Exception e) { exchange.setException(e); callback.done(false); } diff --git a/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompConsumer.java b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompConsumer.java index ff28a15..7dc993b 100644 --- a/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompConsumer.java +++ b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompConsumer.java @@ -53,7 +53,7 @@ public class StompConsumer extends DefaultConsumer { exchange.getIn().getHeaders().entrySet().removeIf(e -> getEndpoint().getHeaderFilterStrategy() .applyFilterToExternalHeaders(e.getKey(), e.getValue(), exchange)); getProcessor().process(exchange); - } catch (Throwable e) { + } catch (Exception e) { exchange.setException(e); } diff --git a/components/camel-timer/src/main/java/org/apache/camel/component/timer/TimerConsumer.java b/components/camel-timer/src/main/java/org/apache/camel/component/timer/TimerConsumer.java index 11d384d..8cc80c4 100644 --- a/components/camel-timer/src/main/java/org/apache/camel/component/timer/TimerConsumer.java +++ b/components/camel-timer/src/main/java/org/apache/camel/component/timer/TimerConsumer.java @@ -81,7 +81,7 @@ public class TimerConsumer extends DefaultConsumer implements StartupListener, S endpoint.getTimerName(), endpoint.getRepeatCount()); cancel(); } - } catch (Throwable e) { + } catch (Exception e) { // catch all to avoid the JVM closing the thread and not // firing again LOG.warn( diff --git a/components/camel-tracing/src/main/java/org/apache/camel/tracing/Tracer.java b/components/camel-tracing/src/main/java/org/apache/camel/tracing/Tracer.java index 1af00d2..267bf8d 100644 --- a/components/camel-tracing/src/main/java/org/apache/camel/tracing/Tracer.java +++ b/components/camel-tracing/src/main/java/org/apache/camel/tracing/Tracer.java @@ -268,7 +268,7 @@ public abstract class Tracer extends ServiceSupport implements RoutePolicyFactor LOG.warn("Tracing: could not find managed span for exchange={}", ese.getExchange()); } } - } catch (Throwable t) { + } catch (Exception t) { // This exception is ignored LOG.warn("Tracing: Failed to capture tracing data", t); } @@ -293,7 +293,7 @@ public abstract class Tracer extends ServiceSupport implements RoutePolicyFactor if (LOG.isTraceEnabled()) { LOG.trace("Tracing: start server span={}", span); } - } catch (Throwable t) { + } catch (Exception t) { // This exception is ignored LOG.warn("Tracing: Failed to capture tracing data", t); } @@ -317,7 +317,7 @@ public abstract class Tracer extends ServiceSupport implements RoutePolicyFactor } else { LOG.warn("Tracing: could not find managed span for exchange={}", exchange); } - } catch (Throwable t) { + } catch (Exception t) { // This exception is ignored LOG.warn("Tracing: Failed to capture tracing data", t); } @@ -335,7 +335,7 @@ public abstract class Tracer extends ServiceSupport implements RoutePolicyFactor fields.put("message", message); span.log(fields); } - } catch (Throwable t) { + } catch (Exception t) { // This exception is ignored LOG.warn("Tracing: Failed to capture tracing data", t); } diff --git a/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/SantuarioUtil.java b/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/SantuarioUtil.java index 9c9430a..540fb04 100644 --- a/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/SantuarioUtil.java +++ b/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/SantuarioUtil.java @@ -46,7 +46,7 @@ public final class SantuarioUtil { return true; } }); - } catch (Throwable t) { + } catch (Exception t) { //ignore } org.apache.xml.security.Init.init(); @@ -60,7 +60,7 @@ public final class SantuarioUtil { return false; } }); - } catch (Throwable t) { + } catch (Exception t) { //ignore } } diff --git a/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlSignatureProcessor.java b/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlSignatureProcessor.java index cf270de..455b501 100644 --- a/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlSignatureProcessor.java +++ b/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlSignatureProcessor.java @@ -49,7 +49,7 @@ public abstract class XmlSignatureProcessor implements Processor { try { SantuarioUtil.initializeSantuario(); SantuarioUtil.addSantuarioJSR105Provider(); - } catch (Throwable t) { + } catch (Exception t) { // provider not in classpath, ignore and fall back to jre default LOG.info("Cannot add the SantuarioJSR105Provider due to {0}, fall back to JRE default.", t); } diff --git a/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java b/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java index 9f9873b..8082992 100644 --- a/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java +++ b/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java @@ -125,7 +125,7 @@ public class XMLSecurityDataFormat extends ServiceSupport implements DataFormat, return true; } }); - } catch (Throwable t) { + } catch (Exception t) { //ignore } org.apache.xml.security.Init.init(); @@ -139,7 +139,7 @@ public class XMLSecurityDataFormat extends ServiceSupport implements DataFormat, return false; } }); - } catch (Throwable t) { + } catch (Exception t) { //ignore } } diff --git a/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/group/internal/ManagedGroupFactoryBuilder.java b/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/group/internal/ManagedGroupFactoryBuilder.java index d19fac4..d75ab86 100644 --- a/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/group/internal/ManagedGroupFactoryBuilder.java +++ b/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/group/internal/ManagedGroupFactoryBuilder.java @@ -47,7 +47,7 @@ public final class ManagedGroupFactoryBuilder { beanIntrospection.setProperty(camelContext, instance, "classLoader", loader); return (ManagedGroupFactory) instance; } - } catch (Throwable e) { + } catch (Exception e) { // Ignore if we'e not in OSGi } return new StaticManagedGroupFactory(factory.call(), true);