diff --git a/src/main/java/org/apache/commons/scxml2/SCXMLExecutor.java b/src/main/java/org/apache/commons/scxml2/SCXMLExecutor.java index 411b12bbf..4da9a28e5 100644 --- a/src/main/java/org/apache/commons/scxml2/SCXMLExecutor.java +++ b/src/main/java/org/apache/commons/scxml2/SCXMLExecutor.java @@ -458,14 +458,14 @@ public Thread run() throws ModelException { public Thread run(final Map data) throws ModelException { go(data); - Thread t = new Thread(() -> { + final Thread t = new Thread(() -> { try { while (exctx.isRunning()) { triggerEvents(); } - } catch (ModelException ignored) { + } catch (final Exception ignored) { } - }); + }, getStateMachine().getName() + '-' + getClass().getSimpleName()); t.start(); return t; } @@ -541,6 +541,7 @@ public void triggerEvents() throws ModelException { while (exctx.isRunning() && (evt = externalEventQueue.poll()) != null) { eventStep(evt); } + Thread.yield(); } protected void eventStep(TriggerEvent event) throws ModelException { @@ -571,4 +572,4 @@ protected void logState() { log.debug(sb.toString()); } } -} \ No newline at end of file +} diff --git a/src/main/java/org/apache/commons/scxml2/TriggerEvent.java b/src/main/java/org/apache/commons/scxml2/TriggerEvent.java index 438b8ab81..608e29163 100644 --- a/src/main/java/org/apache/commons/scxml2/TriggerEvent.java +++ b/src/main/java/org/apache/commons/scxml2/TriggerEvent.java @@ -190,13 +190,13 @@ public String toString() { StringBuilder buf = new StringBuilder("TriggerEvent{name="); buf.append(name).append(", type=").append(type); if (sendId != null) { - buf.append(", sendid=").append(invokeId); + buf.append(", sendid=").append(sendId); } if (origin != null) { - buf.append(", origin=").append(invokeId); + buf.append(", origin=").append(origin); } if (originType != null) { - buf.append(", origintype=").append(invokeId); + buf.append(", origintype=").append(originType); } if (invokeId != null) { buf.append(", invokeid=").append(invokeId);