diff --git a/spring-integration-core/src/main/java/org/springframework/integration/IntegrationPatternType.java b/spring-integration-core/src/main/java/org/springframework/integration/IntegrationPatternType.java index 282ea66e014..339926482e2 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/IntegrationPatternType.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/IntegrationPatternType.java @@ -25,6 +25,7 @@ * Used to indicate which pattern a target component implements. * * @author Artem Bilan + * @author Jiandong Ma * * @since 5.3 */ @@ -84,6 +85,8 @@ public enum IntegrationPatternType { // NOSONAR Initialization circularity is us control_bus(IntegrationPatternCategory.system_management), + message_store(IntegrationPatternCategory.system_management), + router(IntegrationPatternCategory.message_routing), recipient_list_router(IntegrationPatternCategory.message_routing); @@ -140,7 +143,9 @@ public enum IntegrationPatternCategory { claim_check_in, claim_check_out), - system_management(control_bus); + system_management( + control_bus, + message_store); private final IntegrationPatternType[] patternTypes; diff --git a/spring-integration-core/src/main/java/org/springframework/integration/store/MessageStore.java b/spring-integration-core/src/main/java/org/springframework/integration/store/MessageStore.java index 15b1bee30be..db88206d629 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/store/MessageStore.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/store/MessageStore.java @@ -20,6 +20,8 @@ import org.jspecify.annotations.Nullable; +import org.springframework.integration.IntegrationPattern; +import org.springframework.integration.IntegrationPatternType; import org.springframework.jmx.export.annotation.ManagedAttribute; import org.springframework.messaging.Message; @@ -30,10 +32,11 @@ * @author Iwein Fuld * @author Dave Syer * @author Artem Bilan + * @author Jiandong Ma * * @since 2.0 */ -public interface MessageStore { +public interface MessageStore extends IntegrationPattern { /** * @param id The message identifier. @@ -86,4 +89,9 @@ public interface MessageStore { @ManagedAttribute long getMessageCount(); + @Override + default IntegrationPatternType getIntegrationPatternType() { + return IntegrationPatternType.message_store; + } + }