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 e58b67d  Avoid catching Throwable because it could also catch Java 
Errors that shouldn't be handled (#4926)
e58b67d is described below

commit e58b67da3f20a5eb7e2d9443c916a0d7d8f20757
Author: Otavio Rodolfo Piske <orpi...@users.noreply.github.com>
AuthorDate: Mon Jan 25 18:11:20 2021 +0100

    Avoid catching Throwable because it could also catch Java Errors that 
shouldn't be handled (#4926)
    
    Includes: camel-http, camel-catalog-maven, camel-infinispan, 
camel-jetty-common, camel-jms
---
 .../org/apache/camel/catalog/maven/ComponentArtifactHelper.java   | 6 +++---
 .../main/java/org/apache/camel/component/http/HttpProducer.java   | 4 ++--
 .../org/apache/camel/component/infinispan/InfinispanUtil.java     | 8 ++++----
 .../java/org/apache/camel/component/jetty/JettyHttpComponent.java | 6 +++---
 .../org/apache/camel/component/jms/EndpointMessageListener.java   | 4 ++--
 .../src/main/java/org/apache/camel/component/jms/JmsConsumer.java | 4 ++--
 .../src/main/java/org/apache/camel/component/jms/JmsMessage.java  | 2 +-
 .../src/main/java/org/apache/camel/component/jms/JmsProducer.java | 2 +-
 8 files changed, 18 insertions(+), 18 deletions(-)

diff --git 
a/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/ComponentArtifactHelper.java
 
b/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/ComponentArtifactHelper.java
index 4c9522c..70d88f1 100644
--- 
a/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/ComponentArtifactHelper.java
+++ 
b/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/ComponentArtifactHelper.java
@@ -38,7 +38,7 @@ public final class ComponentArtifactHelper {
             if (is != null) {
                 answer.load(is);
             }
-        } catch (Throwable e) {
+        } catch (Exception e) {
             if (log) {
                 System.out.println("WARN: Error loading 
META-INF/services/org/apache/camel/component.properties file due "
                                    + e.getMessage());
@@ -55,7 +55,7 @@ public final class ComponentArtifactHelper {
                 props.load(is);
                 return (String) props.get("class");
             }
-        } catch (Throwable e) {
+        } catch (Exception e) {
             if (log) {
                 System.out.println("WARN: Error loading 
META-INF/services/org/apache/camel/component/" + scheme + " file due "
                                    + e.getMessage());
@@ -83,7 +83,7 @@ public final class ComponentArtifactHelper {
                 if (is != null) {
                     answer = loadText(is);
                 }
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 if (log) {
                     System.out.println("WARN: Error loading " + path + " file 
due " + e.getMessage());
                 }
diff --git 
a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java
 
b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java
index 1fc7d74..eb0eb59 100644
--- 
a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java
+++ 
b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java
@@ -224,7 +224,7 @@ public class HttpProducer extends DefaultProducer {
                     public void onDone(Exchange exchange) {
                         try {
                             EntityUtils.consume(response.getEntity());
-                        } catch (Throwable e) {
+                        } catch (Exception e) {
                             // ignore
                         }
                     }
@@ -233,7 +233,7 @@ public class HttpProducer extends DefaultProducer {
                 // close the stream now
                 try {
                     EntityUtils.consume(response.getEntity());
-                } catch (Throwable e) {
+                } catch (Exception e) {
                     // ignore
                 }
             }
diff --git 
a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanUtil.java
 
b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanUtil.java
index f60886d..d9cfa7a 100644
--- 
a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanUtil.java
+++ 
b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanUtil.java
@@ -42,7 +42,7 @@ public final class InfinispanUtil {
     public static boolean isEmbedded(BasicCacheContainer container) {
         try {
             return container instanceof EmbeddedCacheManager;
-        } catch (Throwable e) {
+        } catch (Exception e) {
             return false;
         }
     }
@@ -50,7 +50,7 @@ public final class InfinispanUtil {
     public static <K, V> boolean isEmbedded(BasicCache<K, V> cache) {
         try {
             return cache instanceof Cache;
-        } catch (Throwable e) {
+        } catch (Exception e) {
             return false;
         }
     }
@@ -58,7 +58,7 @@ public final class InfinispanUtil {
     public static boolean isRemote(BasicCacheContainer container) {
         try {
             return container instanceof RemoteCacheManager;
-        } catch (Throwable e) {
+        } catch (Exception e) {
             return false;
         }
     }
@@ -70,7 +70,7 @@ public final class InfinispanUtil {
     public static <K, V> boolean isRemote(BasicCache<K, V> cache) {
         try {
             return cache instanceof RemoteCache;
-        } catch (Throwable e) {
+        } catch (Exception e) {
             return false;
         }
     }
diff --git 
a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
 
b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
index 0659951..d02ac37 100644
--- 
a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
+++ 
b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
@@ -490,7 +490,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent
                     if (defaultQueuedThreadPool != null) {
                         try {
                             defaultQueuedThreadPool.stop();
-                        } catch (Throwable t) {
+                        } catch (Exception t) {
                             defaultQueuedThreadPool.destroy();
                         } finally {
                             defaultQueuedThreadPool = null;
@@ -1184,7 +1184,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent
         try {
             
connector.getConnectionFactory(HttpConnectionFactory.class).getHttpConfiguration()
                     
.setMultiPartFormDataCompliance(MultiPartFormDataCompliance.RFC7578);
-        } catch (Throwable e) {
+        } catch (Exception e) {
             // ignore this due to OSGi problems
             LOG.debug("Cannot set MultiPartFormDataCompliance to RFC7578 due 
to {}. This exception is ignored.",
                     e.getMessage(), e);
@@ -1381,7 +1381,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent
             return (Container) 
server.getClass().getMethod("getContainer").invoke(server);
         } catch (RuntimeException t) {
             throw t;
-        } catch (Throwable t) {
+        } catch (Exception t) {
             throw new RuntimeException(t);
         }
     }
diff --git 
a/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java
 
b/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java
index 4dc056a..05225c2 100644
--- 
a/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java
+++ 
b/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java
@@ -88,14 +88,14 @@ public class EndpointMessageListener implements 
SessionAwareMessageListener {
                 try {
                     exchange.getIn().getBody();
                     exchange.getIn().getHeaders();
-                } catch (Throwable e) {
+                } catch (Exception e) {
                     // any problems with eager loading then set an exception 
so Camel error handler can react
                     exchange.setException(e);
                     String text = eagerPoisonBody;
                     try {
                         text = 
endpoint.getCamelContext().resolveLanguage("simple")
                                 
.createExpression(eagerPoisonBody).evaluate(exchange, String.class);
-                    } catch (Throwable t) {
+                    } catch (Exception t) {
                         // ignore
                     }
                     exchange.getIn().setBody(text);
diff --git 
a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
 
b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
index 4035450..3fafd18 100644
--- 
a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
+++ 
b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
@@ -150,7 +150,7 @@ public class JmsConsumer extends DefaultConsumer implements 
Suspendable {
                 public void run() {
                     try {
                         prepareAndStartListenerContainer();
-                    } catch (Throwable e) {
+                    } catch (Exception e) {
                         LOG.warn("Error starting listener container on 
destination: {}. This exception will be ignored.",
                                 getDestinationName(), e);
                     }
@@ -214,7 +214,7 @@ public class JmsConsumer extends DefaultConsumer implements 
Suspendable {
                     public void run() {
                         try {
                             stopAndDestroyListenerContainer();
-                        } catch (Throwable e) {
+                        } catch (Exception e) {
                             LOG.warn("Error stopping listener container on 
destination: {}. This exception will be ignored.",
                                     getDestinationName(), e);
                         }
diff --git 
a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java
 
b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java
index 8437550..b3efa26 100644
--- 
a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java
+++ 
b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java
@@ -56,7 +56,7 @@ public class JmsMessage extends DefaultMessage {
         if (jmsMessage != null) {
             try {
                 return "JmsMessage[JmsMessageID: " + 
jmsMessage.getJMSMessageID() + "]";
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 // ignore
             }
         }
diff --git 
a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java
 
b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java
index 9719155..7818a69 100644
--- 
a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java
+++ 
b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java
@@ -157,7 +157,7 @@ public class JmsProducer extends DefaultAsyncProducer {
                 // in only
                 return processInOnly(exchange, callback);
             }
-        } catch (Throwable e) {
+        } catch (Exception e) {
             // must catch exception to ensure callback is invoked as expected
             // to let Camel error handling deal with this
             exchange.setException(e);

Reply via email to