src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/EventConsumer.java
branchJEP-349-branch
changeset 57380 6a7e7743b82f
parent 57373 400db63e4937
child 57385 7d9d4f629f6e
--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/EventConsumer.java	Mon May 27 23:05:54 2019 +0200
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/EventConsumer.java	Thu May 30 23:04:50 2019 +0200
@@ -131,9 +131,9 @@
         jvm.exclude(Thread.currentThread());
         try {
             process();
-        } catch (Throwable e) {
-            e.printStackTrace();
-            Logger.log(LogTag.JFR_SYSTEM_STREAMING, LogLevel.DEBUG, "Unexpectedexception iterating consumer.");
+        } catch (Exception e) {
+            e.printStackTrace(); // for debugging purposes, remove before integration
+            Logger.log(LogTag.JFR_SYSTEM_STREAMING, LogLevel.DEBUG, "Unexpected error processing stream. " + e.getMessage());
         } finally {
             Logger.log(LogTag.JFR_SYSTEM_STREAMING, LogLevel.DEBUG, "Execution of stream ended.");
         }
@@ -185,7 +185,12 @@
             dispatcher.put(e.getEventType().getId(), consumerDispatch);
         }
         for (int i = 0; i < consumerDispatch.length; i++) {
-            consumerDispatch[i].offer(e);
+            try {
+                consumerDispatch[i].offer(e);
+            } catch (Exception exception) {
+                // Is this a reasonable behavior for an exception?
+                // Error will abort the stream.
+            }
         }
 
     }