From 113d59783f06632bdd678619e713b427ec59967d Mon Sep 17 00:00:00 2001 From: benoitl Date: Wed, 7 Feb 2018 08:51:59 +0100 Subject: [PATCH 01/11] Include event identifier in error message --- .../eventhandling/saga/AbstractSagaManager.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/org/axonframework/eventhandling/saga/AbstractSagaManager.java b/core/src/main/java/org/axonframework/eventhandling/saga/AbstractSagaManager.java index 0cc24fcb24..085a49200a 100644 --- a/core/src/main/java/org/axonframework/eventhandling/saga/AbstractSagaManager.java +++ b/core/src/main/java/org/axonframework/eventhandling/saga/AbstractSagaManager.java @@ -49,9 +49,9 @@ public abstract class AbstractSagaManager implements EventHandlerInvoker { /** * Initializes the SagaManager with the given {@code sagaRepository}. * - * @param sagaType The type of Saga Managed by this instance - * @param sagaRepository The repository providing the saga instances. - * @param sagaFactory The factory responsible for creating new Saga instances + * @param sagaType The type of Saga Managed by this instance + * @param sagaRepository The repository providing the saga instances. + * @param sagaFactory The factory responsible for creating new Saga instances */ protected AbstractSagaManager(Class sagaType, SagaRepository sagaRepository, Supplier sagaFactory) { this.sagaType = sagaType; @@ -110,8 +110,8 @@ private boolean doInvokeSaga(EventMessage event, Saga saga) { return saga.handle(event); } catch (Exception e) { if (suppressExceptions) { - logger.error(format("An exception occurred while a Saga [%s] was handling an Event [%s]:", - saga.getClass().getSimpleName(), event.getPayloadType().getSimpleName()), e); + logger.error(format("An exception occurred while a Saga [%s] was handling Event [%s] of type [%s]:", + saga.getClass().getSimpleName(), event.getIdentifier(), event.getPayloadType().getSimpleName()), e); return true; } else { throw e; From 26ba62727695071c5bbef290311bcf2ac4560906 Mon Sep 17 00:00:00 2001 From: Allard Buijze Date: Fri, 23 Feb 2018 17:09:13 +0100 Subject: [PATCH 02/11] Fixed MetaData toString() Related to #511 --- .../java/org/axonframework/messaging/MetaData.java | 5 ++++- .../commandhandling/GenericCommandMessageTest.java | 1 - .../org/axonframework/messaging/MetaDataTest.java | 12 ++++++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/org/axonframework/messaging/MetaData.java b/core/src/main/java/org/axonframework/messaging/MetaData.java index 04bb8fcdc3..adc79674a7 100644 --- a/core/src/main/java/org/axonframework/messaging/MetaData.java +++ b/core/src/main/java/org/axonframework/messaging/MetaData.java @@ -286,6 +286,9 @@ protected Object readResolve() { @Override public String toString() { + if (values.isEmpty()) { + return "MetaData[]"; + } StringBuilder sb = new StringBuilder(); values.forEach((k, v) -> { sb.append(", '") @@ -294,7 +297,7 @@ public String toString() { .append(v) .append('\''); }); - return sb.substring(2); + return "MetaData[" + sb.substring(2) + "]"; } /** diff --git a/core/src/test/java/org/axonframework/commandhandling/GenericCommandMessageTest.java b/core/src/test/java/org/axonframework/commandhandling/GenericCommandMessageTest.java index f0765bab6f..b79746bb35 100644 --- a/core/src/test/java/org/axonframework/commandhandling/GenericCommandMessageTest.java +++ b/core/src/test/java/org/axonframework/commandhandling/GenericCommandMessageTest.java @@ -94,6 +94,5 @@ public void testToString() { assertTrue("Wrong output: " + actual, actual.contains("'key'->'value'")); assertTrue("Wrong output: " + actual, actual.contains("'key2'->'13'")); assertTrue("Wrong output: " + actual, actual.endsWith("', commandName='java.lang.String'}")); - assertEquals("Wrong output: " + actual, 173, actual.length()); } } diff --git a/core/src/test/java/org/axonframework/messaging/MetaDataTest.java b/core/src/test/java/org/axonframework/messaging/MetaDataTest.java index 420c5ac604..215aa3f0f4 100644 --- a/core/src/test/java/org/axonframework/messaging/MetaDataTest.java +++ b/core/src/test/java/org/axonframework/messaging/MetaDataTest.java @@ -18,6 +18,7 @@ import org.junit.Test; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; public class MetaDataTest { @@ -30,4 +31,15 @@ public void testAddNullValueToMetaData() throws Exception { assertEquals(null, metaData.get("nullkey")); assertEquals("value", metaData.get("otherkey")); } + + @Test + public void testToString() { + assertEquals("MetaData[]", MetaData.emptyInstance().toString()); + assertEquals("MetaData['key'->'value']", MetaData.with("key", "value").toString()); + String actual = MetaData.with("key", "value").and("key2", "value2").toString(); + assertTrue(actual.startsWith("MetaData[")); + assertTrue(actual.contains(", ")); + assertTrue(actual.contains("'key'->'value'")); + assertTrue(actual.contains("'key2'->'value2'")); + } } From b7de443a9b7f26a47a4d7612f0001c9f3e8168db Mon Sep 17 00:00:00 2001 From: Allard Buijze Date: Fri, 23 Feb 2018 18:20:26 +0100 Subject: [PATCH 03/11] [maven-release-plugin] prepare release axon-3.1.3 --- amqp/pom.xml | 2 +- core/pom.xml | 2 +- distributed-commandbus-jgroups/pom.xml | 2 +- distributed-commandbus-springcloud/pom.xml | 2 +- integrationtests/pom.xml | 2 +- legacy/pom.xml | 2 +- metrics/pom.xml | 2 +- mongo/pom.xml | 2 +- pom.xml | 4 ++-- spring-boot-autoconfigure/pom.xml | 2 +- spring-boot-starter-jgroups/pom.xml | 4 ++-- spring-boot-starter/pom.xml | 4 ++-- spring/pom.xml | 2 +- test/pom.xml | 2 +- 14 files changed, 17 insertions(+), 17 deletions(-) diff --git a/amqp/pom.xml b/amqp/pom.xml index 4ab8a53c57..b683d789c5 100644 --- a/amqp/pom.xml +++ b/amqp/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.1.3-SNAPSHOT + 3.1.3 4.0.0 diff --git a/core/pom.xml b/core/pom.xml index 24336379cf..392b1edfde 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.1.3-SNAPSHOT + 3.1.3 4.0.0 diff --git a/distributed-commandbus-jgroups/pom.xml b/distributed-commandbus-jgroups/pom.xml index 20b890e843..66511d818a 100644 --- a/distributed-commandbus-jgroups/pom.xml +++ b/distributed-commandbus-jgroups/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.1.3-SNAPSHOT + 3.1.3 4.0.0 diff --git a/distributed-commandbus-springcloud/pom.xml b/distributed-commandbus-springcloud/pom.xml index 144b8ea13d..4c5967c8fe 100644 --- a/distributed-commandbus-springcloud/pom.xml +++ b/distributed-commandbus-springcloud/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.1.3-SNAPSHOT + 3.1.3 4.0.0 diff --git a/integrationtests/pom.xml b/integrationtests/pom.xml index 65c3522822..f44d93d266 100644 --- a/integrationtests/pom.xml +++ b/integrationtests/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.1.3-SNAPSHOT + 3.1.3 4.0.0 diff --git a/legacy/pom.xml b/legacy/pom.xml index c3e7f026e0..3b742f540e 100644 --- a/legacy/pom.xml +++ b/legacy/pom.xml @@ -18,7 +18,7 @@ org.axonframework axon - 3.1.3-SNAPSHOT + 3.1.3 4.0.0 diff --git a/metrics/pom.xml b/metrics/pom.xml index 3c8f9650a3..9581b1088b 100644 --- a/metrics/pom.xml +++ b/metrics/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.1.3-SNAPSHOT + 3.1.3 4.0.0 diff --git a/mongo/pom.xml b/mongo/pom.xml index bfa528db0b..34905c0d8d 100644 --- a/mongo/pom.xml +++ b/mongo/pom.xml @@ -20,7 +20,7 @@ org.axonframework axon - 3.1.3-SNAPSHOT + 3.1.3 axon-mongo diff --git a/pom.xml b/pom.xml index ccadeea577..608f0cba12 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.1.3-SNAPSHOT + 3.1.3 core spring @@ -430,7 +430,7 @@ scm:git:git://github.com/AxonFramework/AxonFramework.git scm:git:git@github.com:AxonFramework/AxonFramework.git https://github.com/AxonFramework/AxonFramework - HEAD + axon-3.1.3 diff --git a/spring-boot-autoconfigure/pom.xml b/spring-boot-autoconfigure/pom.xml index 46a435141f..d6edc6fd2b 100644 --- a/spring-boot-autoconfigure/pom.xml +++ b/spring-boot-autoconfigure/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.1.3-SNAPSHOT + 3.1.3 4.0.0 diff --git a/spring-boot-starter-jgroups/pom.xml b/spring-boot-starter-jgroups/pom.xml index 9472e601da..624a104c98 100644 --- a/spring-boot-starter-jgroups/pom.xml +++ b/spring-boot-starter-jgroups/pom.xml @@ -25,7 +25,7 @@ org.axonframework axon-spring-boot-starter-jgroups - 3.1.3-SNAPSHOT + 3.1.3 Spring Boot Starter module for Axon with JGroups Distributed Command Bus @@ -155,7 +155,7 @@ scm:git:git://github.com/AxonFramework/AxonFramework.git scm:git:git@github.com:AxonFramework/AxonFramework.git https://github.com/AxonFramework/AxonFramework - HEAD + axon-3.1.3 diff --git a/spring-boot-starter/pom.xml b/spring-boot-starter/pom.xml index 03be0dfe7e..1703abb45d 100644 --- a/spring-boot-starter/pom.xml +++ b/spring-boot-starter/pom.xml @@ -25,7 +25,7 @@ org.axonframework axon-spring-boot-starter - 3.1.3-SNAPSHOT + 3.1.3 Spring Boot Starter module for Axon Framework @@ -153,7 +153,7 @@ scm:git:git://github.com/AxonFramework/AxonFramework.git scm:git:git@github.com:AxonFramework/AxonFramework.git https://github.com/AxonFramework/AxonFramework - HEAD + axon-3.1.3 diff --git a/spring/pom.xml b/spring/pom.xml index 39226bd1be..9cf72eacfb 100644 --- a/spring/pom.xml +++ b/spring/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.1.3-SNAPSHOT + 3.1.3 4.0.0 diff --git a/test/pom.xml b/test/pom.xml index f9a094acb8..403ff38126 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.1.3-SNAPSHOT + 3.1.3 4.0.0 From e35210a228fcc4f162c24c81e0d46d962d3154ac Mon Sep 17 00:00:00 2001 From: Allard Buijze Date: Fri, 23 Feb 2018 18:20:27 +0100 Subject: [PATCH 04/11] [maven-release-plugin] prepare for next development iteration --- amqp/pom.xml | 2 +- core/pom.xml | 2 +- distributed-commandbus-jgroups/pom.xml | 2 +- distributed-commandbus-springcloud/pom.xml | 2 +- integrationtests/pom.xml | 2 +- legacy/pom.xml | 2 +- metrics/pom.xml | 2 +- mongo/pom.xml | 2 +- pom.xml | 4 ++-- spring-boot-autoconfigure/pom.xml | 2 +- spring-boot-starter-jgroups/pom.xml | 4 ++-- spring-boot-starter/pom.xml | 4 ++-- spring/pom.xml | 2 +- test/pom.xml | 2 +- 14 files changed, 17 insertions(+), 17 deletions(-) diff --git a/amqp/pom.xml b/amqp/pom.xml index b683d789c5..3d9e9c6e6b 100644 --- a/amqp/pom.xml +++ b/amqp/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.1.3 + 3.1.4-SNAPSHOT 4.0.0 diff --git a/core/pom.xml b/core/pom.xml index 392b1edfde..2f3fc919d9 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.1.3 + 3.1.4-SNAPSHOT 4.0.0 diff --git a/distributed-commandbus-jgroups/pom.xml b/distributed-commandbus-jgroups/pom.xml index 66511d818a..ecc77bde56 100644 --- a/distributed-commandbus-jgroups/pom.xml +++ b/distributed-commandbus-jgroups/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.1.3 + 3.1.4-SNAPSHOT 4.0.0 diff --git a/distributed-commandbus-springcloud/pom.xml b/distributed-commandbus-springcloud/pom.xml index 4c5967c8fe..fc0cb593fa 100644 --- a/distributed-commandbus-springcloud/pom.xml +++ b/distributed-commandbus-springcloud/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.1.3 + 3.1.4-SNAPSHOT 4.0.0 diff --git a/integrationtests/pom.xml b/integrationtests/pom.xml index f44d93d266..9b0eab8fdf 100644 --- a/integrationtests/pom.xml +++ b/integrationtests/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.1.3 + 3.1.4-SNAPSHOT 4.0.0 diff --git a/legacy/pom.xml b/legacy/pom.xml index 3b742f540e..f94e72cd5c 100644 --- a/legacy/pom.xml +++ b/legacy/pom.xml @@ -18,7 +18,7 @@ org.axonframework axon - 3.1.3 + 3.1.4-SNAPSHOT 4.0.0 diff --git a/metrics/pom.xml b/metrics/pom.xml index 9581b1088b..9ac2e1c212 100644 --- a/metrics/pom.xml +++ b/metrics/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.1.3 + 3.1.4-SNAPSHOT 4.0.0 diff --git a/mongo/pom.xml b/mongo/pom.xml index 34905c0d8d..0227b0dd87 100644 --- a/mongo/pom.xml +++ b/mongo/pom.xml @@ -20,7 +20,7 @@ org.axonframework axon - 3.1.3 + 3.1.4-SNAPSHOT axon-mongo diff --git a/pom.xml b/pom.xml index 608f0cba12..a3095ac33b 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.1.3 + 3.1.4-SNAPSHOT core spring @@ -430,7 +430,7 @@ scm:git:git://github.com/AxonFramework/AxonFramework.git scm:git:git@github.com:AxonFramework/AxonFramework.git https://github.com/AxonFramework/AxonFramework - axon-3.1.3 + HEAD diff --git a/spring-boot-autoconfigure/pom.xml b/spring-boot-autoconfigure/pom.xml index d6edc6fd2b..84681c08d9 100644 --- a/spring-boot-autoconfigure/pom.xml +++ b/spring-boot-autoconfigure/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.1.3 + 3.1.4-SNAPSHOT 4.0.0 diff --git a/spring-boot-starter-jgroups/pom.xml b/spring-boot-starter-jgroups/pom.xml index 624a104c98..121e728cce 100644 --- a/spring-boot-starter-jgroups/pom.xml +++ b/spring-boot-starter-jgroups/pom.xml @@ -25,7 +25,7 @@ org.axonframework axon-spring-boot-starter-jgroups - 3.1.3 + 3.1.4-SNAPSHOT Spring Boot Starter module for Axon with JGroups Distributed Command Bus @@ -155,7 +155,7 @@ scm:git:git://github.com/AxonFramework/AxonFramework.git scm:git:git@github.com:AxonFramework/AxonFramework.git https://github.com/AxonFramework/AxonFramework - axon-3.1.3 + HEAD diff --git a/spring-boot-starter/pom.xml b/spring-boot-starter/pom.xml index 1703abb45d..42efae69ca 100644 --- a/spring-boot-starter/pom.xml +++ b/spring-boot-starter/pom.xml @@ -25,7 +25,7 @@ org.axonframework axon-spring-boot-starter - 3.1.3 + 3.1.4-SNAPSHOT Spring Boot Starter module for Axon Framework @@ -153,7 +153,7 @@ scm:git:git://github.com/AxonFramework/AxonFramework.git scm:git:git@github.com:AxonFramework/AxonFramework.git https://github.com/AxonFramework/AxonFramework - axon-3.1.3 + HEAD diff --git a/spring/pom.xml b/spring/pom.xml index 9cf72eacfb..238b063718 100644 --- a/spring/pom.xml +++ b/spring/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.1.3 + 3.1.4-SNAPSHOT 4.0.0 diff --git a/test/pom.xml b/test/pom.xml index 403ff38126..f2f3f1ea56 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.1.3 + 3.1.4-SNAPSHOT 4.0.0 From 65903104fc1e910d602299dd9dc65078f38dc780 Mon Sep 17 00:00:00 2001 From: Allard Buijze Date: Sun, 5 Aug 2018 12:29:15 +0200 Subject: [PATCH 05/11] Reduce number of calls to StorageEngine when processor is idle Resolves #704 --- .../eventsourcing/eventstore/EmbeddedEventStore.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/core/src/main/java/org/axonframework/eventsourcing/eventstore/EmbeddedEventStore.java b/core/src/main/java/org/axonframework/eventsourcing/eventstore/EmbeddedEventStore.java index 3c762773e2..866d3e37db 100644 --- a/core/src/main/java/org/axonframework/eventsourcing/eventstore/EmbeddedEventStore.java +++ b/core/src/main/java/org/axonframework/eventsourcing/eventstore/EmbeddedEventStore.java @@ -390,8 +390,7 @@ private TrackedEventMessage peekPrivateStream(boolean allowSwitchToTailingCon } else { consumerLock.lock(); try { - consumableEventsCondition.await(timeout, timeUnit); - if (privateIterator.hasNext()) { + if (consumableEventsCondition.await(timeout, timeUnit) && privateIterator.hasNext()) { TrackedEventMessage nextEvent = privateIterator.next(); lastToken = nextEvent.trackingToken(); return nextEvent; From 223e550b69b8efccff564d83b6a6b2b8a7548a4e Mon Sep 17 00:00:00 2001 From: Allard Buijze Date: Sun, 5 Aug 2018 12:37:10 +0200 Subject: [PATCH 06/11] [maven-release-plugin] prepare release axon-3.2.3 --- amqp/pom.xml | 2 +- core/pom.xml | 2 +- distributed-commandbus-jgroups/pom.xml | 2 +- distributed-commandbus-springcloud/pom.xml | 2 +- integrationtests/pom.xml | 2 +- legacy/pom.xml | 2 +- metrics/pom.xml | 2 +- mongo/pom.xml | 2 +- pom.xml | 4 ++-- spring-boot-autoconfigure/pom.xml | 2 +- spring-boot-starter-jgroups/pom.xml | 4 ++-- spring-boot-starter/pom.xml | 4 ++-- spring/pom.xml | 2 +- test/pom.xml | 2 +- 14 files changed, 17 insertions(+), 17 deletions(-) diff --git a/amqp/pom.xml b/amqp/pom.xml index c0800e8b6f..86ad576a75 100644 --- a/amqp/pom.xml +++ b/amqp/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.2.3-SNAPSHOT + 3.2.3 4.0.0 diff --git a/core/pom.xml b/core/pom.xml index 5bc6cb49fd..6391e59828 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.2.3-SNAPSHOT + 3.2.3 4.0.0 diff --git a/distributed-commandbus-jgroups/pom.xml b/distributed-commandbus-jgroups/pom.xml index 0ea24c5c55..03fa229908 100644 --- a/distributed-commandbus-jgroups/pom.xml +++ b/distributed-commandbus-jgroups/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.2.3-SNAPSHOT + 3.2.3 4.0.0 diff --git a/distributed-commandbus-springcloud/pom.xml b/distributed-commandbus-springcloud/pom.xml index 3abf15a4fb..ece3826b8b 100644 --- a/distributed-commandbus-springcloud/pom.xml +++ b/distributed-commandbus-springcloud/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.2.3-SNAPSHOT + 3.2.3 4.0.0 diff --git a/integrationtests/pom.xml b/integrationtests/pom.xml index a1b743de2c..47c2bdb991 100644 --- a/integrationtests/pom.xml +++ b/integrationtests/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.2.3-SNAPSHOT + 3.2.3 4.0.0 diff --git a/legacy/pom.xml b/legacy/pom.xml index fcc46c6863..994a0f9d1e 100644 --- a/legacy/pom.xml +++ b/legacy/pom.xml @@ -18,7 +18,7 @@ org.axonframework axon - 3.2.3-SNAPSHOT + 3.2.3 4.0.0 diff --git a/metrics/pom.xml b/metrics/pom.xml index 04b3eb9279..1edf98e9de 100644 --- a/metrics/pom.xml +++ b/metrics/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.2.3-SNAPSHOT + 3.2.3 4.0.0 diff --git a/mongo/pom.xml b/mongo/pom.xml index 3fa800678b..fbd6a9df83 100644 --- a/mongo/pom.xml +++ b/mongo/pom.xml @@ -20,7 +20,7 @@ org.axonframework axon - 3.2.3-SNAPSHOT + 3.2.3 axon-mongo diff --git a/pom.xml b/pom.xml index 1c8ac3523a..9d1da94e65 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.2.3-SNAPSHOT + 3.2.3 core spring @@ -430,7 +430,7 @@ scm:git:git://github.com/AxonFramework/AxonFramework.git scm:git:git@github.com:AxonFramework/AxonFramework.git https://github.com/AxonFramework/AxonFramework - HEAD + axon-3.2.3 diff --git a/spring-boot-autoconfigure/pom.xml b/spring-boot-autoconfigure/pom.xml index c5746a8e3b..4aa81316f0 100644 --- a/spring-boot-autoconfigure/pom.xml +++ b/spring-boot-autoconfigure/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.2.3-SNAPSHOT + 3.2.3 4.0.0 diff --git a/spring-boot-starter-jgroups/pom.xml b/spring-boot-starter-jgroups/pom.xml index 57fc77331b..8f9e754568 100644 --- a/spring-boot-starter-jgroups/pom.xml +++ b/spring-boot-starter-jgroups/pom.xml @@ -26,7 +26,7 @@ org.axonframework axon-spring-boot-starter-jgroups - 3.2.3-SNAPSHOT + 3.2.3 Spring Boot Starter module for Axon with JGroups Distributed Command Bus @@ -156,7 +156,7 @@ scm:git:git://github.com/AxonFramework/AxonFramework.git scm:git:git@github.com:AxonFramework/AxonFramework.git https://github.com/AxonFramework/AxonFramework - HEAD + axon-3.2.3 diff --git a/spring-boot-starter/pom.xml b/spring-boot-starter/pom.xml index 796bb3509e..1aa0c4efdd 100644 --- a/spring-boot-starter/pom.xml +++ b/spring-boot-starter/pom.xml @@ -26,7 +26,7 @@ org.axonframework axon-spring-boot-starter - 3.2.3-SNAPSHOT + 3.2.3 Spring Boot Starter module for Axon Framework @@ -154,7 +154,7 @@ scm:git:git://github.com/AxonFramework/AxonFramework.git scm:git:git@github.com:AxonFramework/AxonFramework.git https://github.com/AxonFramework/AxonFramework - HEAD + axon-3.2.3 diff --git a/spring/pom.xml b/spring/pom.xml index 45765eda42..011bb83b26 100644 --- a/spring/pom.xml +++ b/spring/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.2.3-SNAPSHOT + 3.2.3 4.0.0 diff --git a/test/pom.xml b/test/pom.xml index 996cfb2e7f..60b616e78b 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.2.3-SNAPSHOT + 3.2.3 4.0.0 From 0017c6771b76cf35c452e081c386592f8b0c5934 Mon Sep 17 00:00:00 2001 From: Allard Buijze Date: Sun, 5 Aug 2018 12:37:12 +0200 Subject: [PATCH 07/11] [maven-release-plugin] prepare for next development iteration --- amqp/pom.xml | 2 +- core/pom.xml | 2 +- distributed-commandbus-jgroups/pom.xml | 2 +- distributed-commandbus-springcloud/pom.xml | 2 +- integrationtests/pom.xml | 2 +- legacy/pom.xml | 2 +- metrics/pom.xml | 2 +- mongo/pom.xml | 2 +- pom.xml | 4 ++-- spring-boot-autoconfigure/pom.xml | 2 +- spring-boot-starter-jgroups/pom.xml | 4 ++-- spring-boot-starter/pom.xml | 4 ++-- spring/pom.xml | 2 +- test/pom.xml | 2 +- 14 files changed, 17 insertions(+), 17 deletions(-) diff --git a/amqp/pom.xml b/amqp/pom.xml index 86ad576a75..fe9c4ac550 100644 --- a/amqp/pom.xml +++ b/amqp/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.2.3 + 3.2.4-SNAPSHOT 4.0.0 diff --git a/core/pom.xml b/core/pom.xml index 6391e59828..40f387676d 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.2.3 + 3.2.4-SNAPSHOT 4.0.0 diff --git a/distributed-commandbus-jgroups/pom.xml b/distributed-commandbus-jgroups/pom.xml index 03fa229908..6f1cf851d0 100644 --- a/distributed-commandbus-jgroups/pom.xml +++ b/distributed-commandbus-jgroups/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.2.3 + 3.2.4-SNAPSHOT 4.0.0 diff --git a/distributed-commandbus-springcloud/pom.xml b/distributed-commandbus-springcloud/pom.xml index ece3826b8b..f356eddd35 100644 --- a/distributed-commandbus-springcloud/pom.xml +++ b/distributed-commandbus-springcloud/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.2.3 + 3.2.4-SNAPSHOT 4.0.0 diff --git a/integrationtests/pom.xml b/integrationtests/pom.xml index 47c2bdb991..999c1178cb 100644 --- a/integrationtests/pom.xml +++ b/integrationtests/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.2.3 + 3.2.4-SNAPSHOT 4.0.0 diff --git a/legacy/pom.xml b/legacy/pom.xml index 994a0f9d1e..51043c657b 100644 --- a/legacy/pom.xml +++ b/legacy/pom.xml @@ -18,7 +18,7 @@ org.axonframework axon - 3.2.3 + 3.2.4-SNAPSHOT 4.0.0 diff --git a/metrics/pom.xml b/metrics/pom.xml index 1edf98e9de..462506a8ee 100644 --- a/metrics/pom.xml +++ b/metrics/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.2.3 + 3.2.4-SNAPSHOT 4.0.0 diff --git a/mongo/pom.xml b/mongo/pom.xml index fbd6a9df83..26b0b75e86 100644 --- a/mongo/pom.xml +++ b/mongo/pom.xml @@ -20,7 +20,7 @@ org.axonframework axon - 3.2.3 + 3.2.4-SNAPSHOT axon-mongo diff --git a/pom.xml b/pom.xml index 9d1da94e65..418b0b3331 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.2.3 + 3.2.4-SNAPSHOT core spring @@ -430,7 +430,7 @@ scm:git:git://github.com/AxonFramework/AxonFramework.git scm:git:git@github.com:AxonFramework/AxonFramework.git https://github.com/AxonFramework/AxonFramework - axon-3.2.3 + HEAD diff --git a/spring-boot-autoconfigure/pom.xml b/spring-boot-autoconfigure/pom.xml index 4aa81316f0..137957b85f 100644 --- a/spring-boot-autoconfigure/pom.xml +++ b/spring-boot-autoconfigure/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.2.3 + 3.2.4-SNAPSHOT 4.0.0 diff --git a/spring-boot-starter-jgroups/pom.xml b/spring-boot-starter-jgroups/pom.xml index 8f9e754568..6ea90843b1 100644 --- a/spring-boot-starter-jgroups/pom.xml +++ b/spring-boot-starter-jgroups/pom.xml @@ -26,7 +26,7 @@ org.axonframework axon-spring-boot-starter-jgroups - 3.2.3 + 3.2.4-SNAPSHOT Spring Boot Starter module for Axon with JGroups Distributed Command Bus @@ -156,7 +156,7 @@ scm:git:git://github.com/AxonFramework/AxonFramework.git scm:git:git@github.com:AxonFramework/AxonFramework.git https://github.com/AxonFramework/AxonFramework - axon-3.2.3 + HEAD diff --git a/spring-boot-starter/pom.xml b/spring-boot-starter/pom.xml index 1aa0c4efdd..9282b0ddf0 100644 --- a/spring-boot-starter/pom.xml +++ b/spring-boot-starter/pom.xml @@ -26,7 +26,7 @@ org.axonframework axon-spring-boot-starter - 3.2.3 + 3.2.4-SNAPSHOT Spring Boot Starter module for Axon Framework @@ -154,7 +154,7 @@ scm:git:git://github.com/AxonFramework/AxonFramework.git scm:git:git@github.com:AxonFramework/AxonFramework.git https://github.com/AxonFramework/AxonFramework - axon-3.2.3 + HEAD diff --git a/spring/pom.xml b/spring/pom.xml index 011bb83b26..d1127f4cd4 100644 --- a/spring/pom.xml +++ b/spring/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.2.3 + 3.2.4-SNAPSHOT 4.0.0 diff --git a/test/pom.xml b/test/pom.xml index 60b616e78b..0827277361 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.2.3 + 3.2.4-SNAPSHOT 4.0.0 From f9eec9d6fb6faf5b7bed273a9abf272dbb840908 Mon Sep 17 00:00:00 2001 From: Steven van Beelen Date: Wed, 13 Mar 2019 16:17:24 +0100 Subject: [PATCH 08/11] [maven-release-plugin] prepare release axon-3.4.3 --- amqp/pom.xml | 2 +- core/pom.xml | 2 +- distributed-commandbus-jgroups/pom.xml | 2 +- distributed-commandbus-springcloud/pom.xml | 2 +- integrationtests/pom.xml | 2 +- kafka/pom.xml | 2 +- legacy/pom.xml | 2 +- metrics/pom.xml | 2 +- mongo/pom.xml | 2 +- pom.xml | 4 ++-- spring-boot-autoconfigure/pom.xml | 2 +- spring-boot-starter-jgroups/pom.xml | 4 ++-- spring-boot-starter/pom.xml | 4 ++-- spring/pom.xml | 2 +- test/pom.xml | 2 +- 15 files changed, 18 insertions(+), 18 deletions(-) diff --git a/amqp/pom.xml b/amqp/pom.xml index 904660b52c..b665307ea5 100644 --- a/amqp/pom.xml +++ b/amqp/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.4.3-SNAPSHOT + 3.4.3 4.0.0 diff --git a/core/pom.xml b/core/pom.xml index e10d35c5fb..97d59d1427 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.4.3-SNAPSHOT + 3.4.3 4.0.0 diff --git a/distributed-commandbus-jgroups/pom.xml b/distributed-commandbus-jgroups/pom.xml index a56ff5ffb7..5733aa4816 100644 --- a/distributed-commandbus-jgroups/pom.xml +++ b/distributed-commandbus-jgroups/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.4.3-SNAPSHOT + 3.4.3 4.0.0 diff --git a/distributed-commandbus-springcloud/pom.xml b/distributed-commandbus-springcloud/pom.xml index a55fd29755..0bf404e3f8 100644 --- a/distributed-commandbus-springcloud/pom.xml +++ b/distributed-commandbus-springcloud/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.4.3-SNAPSHOT + 3.4.3 4.0.0 diff --git a/integrationtests/pom.xml b/integrationtests/pom.xml index 543217fb48..3c8705283d 100644 --- a/integrationtests/pom.xml +++ b/integrationtests/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.4.3-SNAPSHOT + 3.4.3 4.0.0 diff --git a/kafka/pom.xml b/kafka/pom.xml index e1564df337..788b3505db 100644 --- a/kafka/pom.xml +++ b/kafka/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.4.3-SNAPSHOT + 3.4.3 4.0.0 diff --git a/legacy/pom.xml b/legacy/pom.xml index 9dfcd9b015..5126b38e21 100644 --- a/legacy/pom.xml +++ b/legacy/pom.xml @@ -18,7 +18,7 @@ org.axonframework axon - 3.4.3-SNAPSHOT + 3.4.3 4.0.0 diff --git a/metrics/pom.xml b/metrics/pom.xml index 3dad0492dc..520eeb4926 100644 --- a/metrics/pom.xml +++ b/metrics/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.4.3-SNAPSHOT + 3.4.3 4.0.0 diff --git a/mongo/pom.xml b/mongo/pom.xml index 0c0eb6e5cd..13b20478f0 100644 --- a/mongo/pom.xml +++ b/mongo/pom.xml @@ -20,7 +20,7 @@ org.axonframework axon - 3.4.3-SNAPSHOT + 3.4.3 axon-mongo diff --git a/pom.xml b/pom.xml index e936d589fa..da35807f1a 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.4.3-SNAPSHOT + 3.4.3 core spring @@ -448,7 +448,7 @@ scm:git:git://github.com/AxonFramework/AxonFramework.git scm:git:git@github.com:AxonFramework/AxonFramework.git https://github.com/AxonFramework/AxonFramework - HEAD + axon-3.4.3 diff --git a/spring-boot-autoconfigure/pom.xml b/spring-boot-autoconfigure/pom.xml index 7ab008f648..7c5971a848 100644 --- a/spring-boot-autoconfigure/pom.xml +++ b/spring-boot-autoconfigure/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.4.3-SNAPSHOT + 3.4.3 4.0.0 diff --git a/spring-boot-starter-jgroups/pom.xml b/spring-boot-starter-jgroups/pom.xml index 15879263bd..59132ae719 100644 --- a/spring-boot-starter-jgroups/pom.xml +++ b/spring-boot-starter-jgroups/pom.xml @@ -26,7 +26,7 @@ org.axonframework axon-spring-boot-starter-jgroups - 3.4.3-SNAPSHOT + 3.4.3 Spring Boot Starter module for Axon with JGroups Distributed Command Bus @@ -156,7 +156,7 @@ scm:git:git://github.com/AxonFramework/AxonFramework.git scm:git:git@github.com:AxonFramework/AxonFramework.git https://github.com/AxonFramework/AxonFramework - HEAD + axon-3.4.3 diff --git a/spring-boot-starter/pom.xml b/spring-boot-starter/pom.xml index 5a9dd2f903..2e53cefc41 100644 --- a/spring-boot-starter/pom.xml +++ b/spring-boot-starter/pom.xml @@ -26,7 +26,7 @@ org.axonframework axon-spring-boot-starter - 3.4.3-SNAPSHOT + 3.4.3 Spring Boot Starter module for Axon Framework @@ -154,7 +154,7 @@ scm:git:git://github.com/AxonFramework/AxonFramework.git scm:git:git@github.com:AxonFramework/AxonFramework.git https://github.com/AxonFramework/AxonFramework - HEAD + axon-3.4.3 diff --git a/spring/pom.xml b/spring/pom.xml index 62fdb99df7..e04bccbb99 100644 --- a/spring/pom.xml +++ b/spring/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.4.3-SNAPSHOT + 3.4.3 4.0.0 diff --git a/test/pom.xml b/test/pom.xml index ee18785130..9bbeab6a2b 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.4.3-SNAPSHOT + 3.4.3 4.0.0 From 626e065621faf5fbb76dd045e3020f80d34271f4 Mon Sep 17 00:00:00 2001 From: Steven van Beelen Date: Wed, 13 Mar 2019 16:17:25 +0100 Subject: [PATCH 09/11] [maven-release-plugin] prepare for next development iteration --- amqp/pom.xml | 2 +- core/pom.xml | 2 +- distributed-commandbus-jgroups/pom.xml | 2 +- distributed-commandbus-springcloud/pom.xml | 2 +- integrationtests/pom.xml | 2 +- kafka/pom.xml | 2 +- legacy/pom.xml | 2 +- metrics/pom.xml | 2 +- mongo/pom.xml | 2 +- pom.xml | 4 ++-- spring-boot-autoconfigure/pom.xml | 2 +- spring-boot-starter-jgroups/pom.xml | 4 ++-- spring-boot-starter/pom.xml | 4 ++-- spring/pom.xml | 2 +- test/pom.xml | 2 +- 15 files changed, 18 insertions(+), 18 deletions(-) diff --git a/amqp/pom.xml b/amqp/pom.xml index b665307ea5..316908fb96 100644 --- a/amqp/pom.xml +++ b/amqp/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.4.3 + 3.4.4-SNAPSHOT 4.0.0 diff --git a/core/pom.xml b/core/pom.xml index 97d59d1427..3dd9ce5798 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.4.3 + 3.4.4-SNAPSHOT 4.0.0 diff --git a/distributed-commandbus-jgroups/pom.xml b/distributed-commandbus-jgroups/pom.xml index 5733aa4816..8fe9439e36 100644 --- a/distributed-commandbus-jgroups/pom.xml +++ b/distributed-commandbus-jgroups/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.4.3 + 3.4.4-SNAPSHOT 4.0.0 diff --git a/distributed-commandbus-springcloud/pom.xml b/distributed-commandbus-springcloud/pom.xml index 0bf404e3f8..72c28fe97b 100644 --- a/distributed-commandbus-springcloud/pom.xml +++ b/distributed-commandbus-springcloud/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.4.3 + 3.4.4-SNAPSHOT 4.0.0 diff --git a/integrationtests/pom.xml b/integrationtests/pom.xml index 3c8705283d..5b64dba10a 100644 --- a/integrationtests/pom.xml +++ b/integrationtests/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.4.3 + 3.4.4-SNAPSHOT 4.0.0 diff --git a/kafka/pom.xml b/kafka/pom.xml index 788b3505db..abba326586 100644 --- a/kafka/pom.xml +++ b/kafka/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.4.3 + 3.4.4-SNAPSHOT 4.0.0 diff --git a/legacy/pom.xml b/legacy/pom.xml index 5126b38e21..230e5e5051 100644 --- a/legacy/pom.xml +++ b/legacy/pom.xml @@ -18,7 +18,7 @@ org.axonframework axon - 3.4.3 + 3.4.4-SNAPSHOT 4.0.0 diff --git a/metrics/pom.xml b/metrics/pom.xml index 520eeb4926..a422632466 100644 --- a/metrics/pom.xml +++ b/metrics/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.4.3 + 3.4.4-SNAPSHOT 4.0.0 diff --git a/mongo/pom.xml b/mongo/pom.xml index 13b20478f0..74feb8ecc0 100644 --- a/mongo/pom.xml +++ b/mongo/pom.xml @@ -20,7 +20,7 @@ org.axonframework axon - 3.4.3 + 3.4.4-SNAPSHOT axon-mongo diff --git a/pom.xml b/pom.xml index da35807f1a..0a19472ea1 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.4.3 + 3.4.4-SNAPSHOT core spring @@ -448,7 +448,7 @@ scm:git:git://github.com/AxonFramework/AxonFramework.git scm:git:git@github.com:AxonFramework/AxonFramework.git https://github.com/AxonFramework/AxonFramework - axon-3.4.3 + HEAD diff --git a/spring-boot-autoconfigure/pom.xml b/spring-boot-autoconfigure/pom.xml index 7c5971a848..39826a9322 100644 --- a/spring-boot-autoconfigure/pom.xml +++ b/spring-boot-autoconfigure/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.4.3 + 3.4.4-SNAPSHOT 4.0.0 diff --git a/spring-boot-starter-jgroups/pom.xml b/spring-boot-starter-jgroups/pom.xml index 59132ae719..71e91b64f2 100644 --- a/spring-boot-starter-jgroups/pom.xml +++ b/spring-boot-starter-jgroups/pom.xml @@ -26,7 +26,7 @@ org.axonframework axon-spring-boot-starter-jgroups - 3.4.3 + 3.4.4-SNAPSHOT Spring Boot Starter module for Axon with JGroups Distributed Command Bus @@ -156,7 +156,7 @@ scm:git:git://github.com/AxonFramework/AxonFramework.git scm:git:git@github.com:AxonFramework/AxonFramework.git https://github.com/AxonFramework/AxonFramework - axon-3.4.3 + HEAD diff --git a/spring-boot-starter/pom.xml b/spring-boot-starter/pom.xml index 2e53cefc41..827ef0b2bc 100644 --- a/spring-boot-starter/pom.xml +++ b/spring-boot-starter/pom.xml @@ -26,7 +26,7 @@ org.axonframework axon-spring-boot-starter - 3.4.3 + 3.4.4-SNAPSHOT Spring Boot Starter module for Axon Framework @@ -154,7 +154,7 @@ scm:git:git://github.com/AxonFramework/AxonFramework.git scm:git:git@github.com:AxonFramework/AxonFramework.git https://github.com/AxonFramework/AxonFramework - axon-3.4.3 + HEAD diff --git a/spring/pom.xml b/spring/pom.xml index e04bccbb99..368972214e 100644 --- a/spring/pom.xml +++ b/spring/pom.xml @@ -19,7 +19,7 @@ org.axonframework axon - 3.4.3 + 3.4.4-SNAPSHOT 4.0.0 diff --git a/test/pom.xml b/test/pom.xml index 9bbeab6a2b..71f5f1be28 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -19,7 +19,7 @@ axon org.axonframework - 3.4.3 + 3.4.4-SNAPSHOT 4.0.0 From ee2d059baff6a9a8a8054f4d4c42af528260d640 Mon Sep 17 00:00:00 2001 From: Steven van Beelen Date: Fri, 8 Jul 2022 14:14:03 +0200 Subject: [PATCH 10/11] Purge closed units of work Purge closed units of work when CurrentUnitOfWork.isStarted and CurrentUnitOfWork.get are invoked. In either scenario there's a possibility that a closed unit of work is still present while another process tries to attach a hook in one of the phases. By purging already closed entries we'll solve this predicament. #bug/clear-closed-unit-of-works --- .../unitofwork/CurrentUnitOfWork.java | 22 +++++++-- .../unitofwork/CurrentUnitOfWorkTest.java | 47 +++++++++++++++---- 2 files changed, 58 insertions(+), 11 deletions(-) diff --git a/core/src/main/java/org/axonframework/messaging/unitofwork/CurrentUnitOfWork.java b/core/src/main/java/org/axonframework/messaging/unitofwork/CurrentUnitOfWork.java index 398b1a44c5..3ae0bf1a31 100644 --- a/core/src/main/java/org/axonframework/messaging/unitofwork/CurrentUnitOfWork.java +++ b/core/src/main/java/org/axonframework/messaging/unitofwork/CurrentUnitOfWork.java @@ -1,11 +1,11 @@ /* - * Copyright (c) 2010-2016. Axon Framework + * Copyright (c) 2010-2022. Axon Framework * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -42,7 +42,9 @@ public abstract class CurrentUnitOfWork { * @return whether a UnitOfWork has already been started. */ public static boolean isStarted() { - return CURRENT.get() != null && !CURRENT.get().isEmpty(); + Deque> current = CURRENT.get(); + purgeClosed(current); + return current != null && !current.isEmpty(); } /** @@ -92,9 +94,23 @@ public static UnitOfWork get() { private static boolean isEmpty() { Deque> unitsOfWork = CURRENT.get(); +// purgeClosed(unitsOfWork); return unitsOfWork == null || unitsOfWork.isEmpty(); } + /** + * Purges any closed {@link UnitOfWork} instances left on the stack. Invoking this method prior validating whether + * there's a started or empty set of units of work ensures we do not accidentally try to register callbacks while + * the top unit of work is already closed. + * + * @param current The current stack of {@link UnitOfWork Units of Work}. + */ + private static void purgeClosed(Deque> current) { + while (current != null && !current.isEmpty() && current.peek().phase() == UnitOfWork.Phase.CLOSED) { + current.pop(); + } + } + /** * Commits the current UnitOfWork. If no UnitOfWork was started, an {@link IllegalStateException} is thrown. * diff --git a/core/src/test/java/org/axonframework/messaging/unitofwork/CurrentUnitOfWorkTest.java b/core/src/test/java/org/axonframework/messaging/unitofwork/CurrentUnitOfWorkTest.java index 4a85979d88..f04a466e4b 100644 --- a/core/src/test/java/org/axonframework/messaging/unitofwork/CurrentUnitOfWorkTest.java +++ b/core/src/test/java/org/axonframework/messaging/unitofwork/CurrentUnitOfWorkTest.java @@ -1,11 +1,11 @@ /* - * Copyright (c) 2010-2012. Axon Framework + * Copyright (c) 2010-2022. Axon Framework * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -16,15 +16,15 @@ package org.axonframework.messaging.unitofwork; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; +import org.axonframework.messaging.GenericMessage; +import org.junit.*; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertSame; -import static org.mockito.Mockito.mock; +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; /** + * Test class validating the {@link CurrentUnitOfWork}. + * * @author Allard Buijze */ public class CurrentUnitOfWorkTest { @@ -71,4 +71,35 @@ public void testNotCurrentUnitOfWorkCommitted() { throw new AssertionError("The unit of work is not the current"); } + @Test + public void testIsStartedPurgesClosedUnitsOfWork() { + UnitOfWork> thisUoW = new DefaultUnitOfWork<>(new GenericMessage<>("this")); + thisUoW.commit(); // Committing the unit of work will close it. + CurrentUnitOfWork.set(thisUoW); + + UnitOfWork> thatUoW = new DefaultUnitOfWork<>(new GenericMessage<>("that")); + thatUoW.commit(); // Committing the unit of work will close it. + CurrentUnitOfWork.set(thatUoW); + + assertFalse(CurrentUnitOfWork.isStarted()); + } + + @Test + public void testGetPurgesClosedUnitsOfWorkAndThrowsIllegalStateException() { + UnitOfWork> thisUoW = new DefaultUnitOfWork<>(new GenericMessage<>("this")); + thisUoW.commit(); // Committing the unit of work will close it. + CurrentUnitOfWork.set(thisUoW); + + UnitOfWork> thatUoW = new DefaultUnitOfWork<>(new GenericMessage<>("that")); + thatUoW.commit(); // Committing the unit of work will close it. + CurrentUnitOfWork.set(thatUoW); + + IllegalStateException result = null; + try { + CurrentUnitOfWork.get(); + } catch (IllegalStateException e) { + result = e; + } + assertNotNull(result); + } } From f39ee8f0a0b1d957ad87a8e90876e8abd0aec4db Mon Sep 17 00:00:00 2001 From: Steven van Beelen Date: Fri, 8 Jul 2022 15:52:51 +0200 Subject: [PATCH 11/11] Remove is started check from CurrentUnitOfWork#clear(UnitOfWork) Remove is started check from CurrentUnitOfWork#clear(UnitOfWork), as it's an unnecessary check. Furthermore, when removing closed entries on isStarted, this check causes the IllegalStateException to be thrown incorrectly. #bug/clear-closed-unit-of-works --- .../unitofwork/CurrentUnitOfWork.java | 7 ++----- .../unitofwork/CurrentUnitOfWorkTest.java | 20 ++++++------------- 2 files changed, 8 insertions(+), 19 deletions(-) diff --git a/core/src/main/java/org/axonframework/messaging/unitofwork/CurrentUnitOfWork.java b/core/src/main/java/org/axonframework/messaging/unitofwork/CurrentUnitOfWork.java index 3ae0bf1a31..42d7e82fc4 100644 --- a/core/src/main/java/org/axonframework/messaging/unitofwork/CurrentUnitOfWork.java +++ b/core/src/main/java/org/axonframework/messaging/unitofwork/CurrentUnitOfWork.java @@ -94,7 +94,7 @@ public static UnitOfWork get() { private static boolean isEmpty() { Deque> unitsOfWork = CURRENT.get(); -// purgeClosed(unitsOfWork); + purgeClosed(unitsOfWork); return unitsOfWork == null || unitsOfWork.isEmpty(); } @@ -143,10 +143,7 @@ public static void set(UnitOfWork unitOfWork) { * indicates a potentially wrong nesting of Units Of Work. */ public static void clear(UnitOfWork unitOfWork) { - if (!isStarted()) { - throw new IllegalStateException("Could not clear this UnitOfWork. There is no UnitOfWork active."); - } - if (CURRENT.get().peek() == unitOfWork) { + if (CURRENT.get() != null && CURRENT.get().peek() == unitOfWork) { CURRENT.get().pop(); if (CURRENT.get().isEmpty()) { CURRENT.remove(); diff --git a/core/src/test/java/org/axonframework/messaging/unitofwork/CurrentUnitOfWorkTest.java b/core/src/test/java/org/axonframework/messaging/unitofwork/CurrentUnitOfWorkTest.java index f04a466e4b..7e3dd078e0 100644 --- a/core/src/test/java/org/axonframework/messaging/unitofwork/CurrentUnitOfWorkTest.java +++ b/core/src/test/java/org/axonframework/messaging/unitofwork/CurrentUnitOfWorkTest.java @@ -73,26 +73,18 @@ public void testNotCurrentUnitOfWorkCommitted() { @Test public void testIsStartedPurgesClosedUnitsOfWork() { - UnitOfWork> thisUoW = new DefaultUnitOfWork<>(new GenericMessage<>("this")); - thisUoW.commit(); // Committing the unit of work will close it. - CurrentUnitOfWork.set(thisUoW); - - UnitOfWork> thatUoW = new DefaultUnitOfWork<>(new GenericMessage<>("that")); - thatUoW.commit(); // Committing the unit of work will close it. - CurrentUnitOfWork.set(thatUoW); + UnitOfWork> uow = DefaultUnitOfWork.startAndGet(new GenericMessage<>("this")); + uow.commit(); + CurrentUnitOfWork.set(uow); assertFalse(CurrentUnitOfWork.isStarted()); } @Test public void testGetPurgesClosedUnitsOfWorkAndThrowsIllegalStateException() { - UnitOfWork> thisUoW = new DefaultUnitOfWork<>(new GenericMessage<>("this")); - thisUoW.commit(); // Committing the unit of work will close it. - CurrentUnitOfWork.set(thisUoW); - - UnitOfWork> thatUoW = new DefaultUnitOfWork<>(new GenericMessage<>("that")); - thatUoW.commit(); // Committing the unit of work will close it. - CurrentUnitOfWork.set(thatUoW); + UnitOfWork> uow = DefaultUnitOfWork.startAndGet(new GenericMessage<>("this")); + uow.commit(); + CurrentUnitOfWork.set(uow); IllegalStateException result = null; try {