Skip to content

Commit 0bc0abf

Browse files
Merge pull request #102 from AxonIQ/feature/propagation-of-the-supported-features-limitations
Add SetupPayload DLQ and Domain Events Insights to supported features
2 parents c8693cf + 221a71b commit 0bc0abf

File tree

13 files changed

+37
-26
lines changed

13 files changed

+37
-26
lines changed

console-framework-client-api/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>io.axoniq.console</groupId>
2323
<artifactId>console-framework-client-parent</artifactId>
24-
<version>1.9.3-SNAPSHOT</version>
24+
<version>1.10.0-SNAPSHOT</version>
2525
</parent>
2626
<modelVersion>4.0.0</modelVersion>
2727

console-framework-client/src/main/java/io/axoniq/console/framework/AxoniqConsoleDlqMode.java renamed to console-framework-client-api/src/main/java/io/axoniq/console/framework/api/AxoniqConsoleDlqMode.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2022-2024. AxonIQ B.V.
2+
* Copyright (c) 2022-2025. AxonIQ B.V.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
package io.axoniq.console.framework;
17+
package io.axoniq.console.framework.api;
1818

1919
public enum AxoniqConsoleDlqMode {
2020
/**

console-framework-client/src/main/java/io/axoniq/console/framework/DomainEventAccessMode.java renamed to console-framework-client-api/src/main/java/io/axoniq/console/framework/api/DomainEventAccessMode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.axoniq.console.framework;
1+
package io.axoniq.console.framework.api;
22

33
public enum DomainEventAccessMode {
44
/**

console-framework-client-api/src/main/java/io/axoniq/console/framework/api/clientIdentification.kt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2022-2024. AxonIQ B.V.
2+
* Copyright (c) 2022-2025. AxonIQ B.V.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -85,13 +85,13 @@ data class ConsoleClientIdentifier(
8585
)
8686

8787
data class SetupPayload(
88-
val features: SupportedFeatures? = SupportedFeatures(),
8988
val commandBus: CommandBusInformation,
9089
val queryBus: QueryBusInformation,
9190
val eventStore: EventStoreInformation,
9291
val processors: List<EventProcessorInformation>,
9392
val versions: Versions,
9493
val upcasters: List<String>,
94+
val features: SupportedFeatures = SupportedFeatures(),
9595
)
9696

9797
data class SupportedFeatures(
@@ -102,7 +102,11 @@ data class SupportedFeatures(
102102
/* Whether the client supports pause/resume of reports.*/
103103
val pauseReports: Boolean? = false,
104104
/* Whether the client supports thread dumps.*/
105-
val threadDump: Boolean? = false
105+
val threadDump: Boolean? = false,
106+
/* Whether the client supports DLQ insights. Can be FULL, LIMITED, MASKED, or NONE (default).*/
107+
val deadLetterQueuesInsights: AxoniqConsoleDlqMode = AxoniqConsoleDlqMode.NONE,
108+
/* Whether the client supports domain events insights. Can be FULL, LOAD_DOMAIN_STATE_ONLY, PREVIEW_PAYLOAD_ONLY, or NONE (default).*/
109+
val domainEventsInsights: DomainEventAccessMode = DomainEventAccessMode.NONE,
106110
)
107111

108112
data class Versions(

console-framework-client-spring-boot-starter/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>io.axoniq.console</groupId>
2323
<artifactId>console-framework-client-parent</artifactId>
24-
<version>1.9.3-SNAPSHOT</version>
24+
<version>1.10.0-SNAPSHOT</version>
2525
</parent>
2626
<modelVersion>4.0.0</modelVersion>
2727

console-framework-client-spring-boot-starter/src/main/java/io/axoniq/console/framework/starter/AxoniqConsoleSpringProperties.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2022-2024. AxonIQ B.V.
2+
* Copyright (c) 2022-2025. AxonIQ B.V.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -16,8 +16,8 @@
1616

1717
package io.axoniq.console.framework.starter;
1818

19-
import io.axoniq.console.framework.AxoniqConsoleDlqMode;
20-
import io.axoniq.console.framework.DomainEventAccessMode;
19+
import io.axoniq.console.framework.api.AxoniqConsoleDlqMode;
20+
import io.axoniq.console.framework.api.DomainEventAccessMode;
2121
import org.springframework.boot.context.properties.ConfigurationProperties;
2222

2323
import java.util.ArrayList;

console-framework-client/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>io.axoniq.console</groupId>
2323
<artifactId>console-framework-client-parent</artifactId>
24-
<version>1.9.3-SNAPSHOT</version>
24+
<version>1.10.0-SNAPSHOT</version>
2525
</parent>
2626
<modelVersion>4.0.0</modelVersion>
2727

console-framework-client/src/main/java/io/axoniq/console/framework/AxoniqConsoleConfigurerModule.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2022-2024. AxonIQ B.V.
2+
* Copyright (c) 2022-2025. AxonIQ B.V.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -19,6 +19,8 @@
1919
import com.fasterxml.jackson.annotation.JsonAutoDetect;
2020
import com.fasterxml.jackson.annotation.PropertyAccessor;
2121
import com.fasterxml.jackson.databind.ObjectMapper;
22+
import io.axoniq.console.framework.api.AxoniqConsoleDlqMode;
23+
import io.axoniq.console.framework.api.DomainEventAccessMode;
2224
import io.axoniq.console.framework.application.DomainEventStreamProvider;
2325
import io.axoniq.console.framework.application.ApplicationMetricRegistry;
2426
import io.axoniq.console.framework.application.ApplicationMetricReporter;
@@ -161,7 +163,11 @@ public void configureModule(@NotNull Configurer configurer) {
161163
)
162164
)
163165
.registerComponent(SetupPayloadCreator.class,
164-
SetupPayloadCreator::new
166+
c -> new SetupPayloadCreator(
167+
c,
168+
dlqMode,
169+
domainEventAccessMode
170+
)
165171
)
166172
.registerComponent(EventProcessorManager.class,
167173
c -> new EventProcessorManager(

console-framework-client/src/main/java/io/axoniq/console/framework/application/DomainEventStreamProvider.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@ class DomainEventStreamProvider(
3434
.firstOrNull { it.aggregateType().simpleName == type }
3535
?: throw IllegalArgumentException("No domain entity found for type $type")
3636

37-
val eventStore = configuration.eventStore()
38-
3937
val factory: AggregateFactory<T> = entityConfiguration.aggregateFactory() as AggregateFactory<T>
4038
val model: AggregateModel<T> = entityConfiguration.repository().getPropertyValue<AggregateModel<T>>("aggregateModel")
4139
?: throw IllegalArgumentException("No domain entity model found for type $type")
@@ -44,7 +42,7 @@ class DomainEventStreamProvider(
4442
val loadingEntity: EventSourcedAggregate<T> = EventSourcedAggregate
4543
.initialize(factory.createAggregateRoot(entityIdentifier, stream.peek()),
4644
model,
47-
eventStore,
45+
configuration.eventStore(),
4846
object : RepositoryProvider {
4947
override fun <T> repositoryFor(aggregateType: Class<T>): Repository<T> {
5048
return entityConfiguration.repository() as Repository<T>

console-framework-client/src/main/java/io/axoniq/console/framework/application/RSocketDomainEntityDataResponder.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package io.axoniq.console.framework.application
22

3-
import io.axoniq.console.framework.DomainEventAccessMode
43
import io.axoniq.console.framework.api.*
54
import io.axoniq.console.framework.client.RSocketHandlerRegistrar
65
import org.axonframework.lifecycle.Lifecycle

0 commit comments

Comments
 (0)