Skip to content

Commit b103752

Browse files
committed
Fix NPE for @Indexed in the MessagingGatewayReg
The `@Indexed` comes without any attributes, but it is included into a chain via `importingClassMetadata.getMetaAnnotationTypes(ann)`. So, skip attributes from meta annotation when it is `null` **Cherry-pick to `5.4.x` & `5.3.x`**
1 parent 3cf1d35 commit b103752

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

spring-integration-core/src/main/java/org/springframework/integration/annotation/MessagingGateway.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@
4545
*/
4646
@Target(ElementType.TYPE)
4747
@Retention(RetentionPolicy.RUNTIME)
48-
@Documented
4948
@Indexed
5049
public @interface MessagingGateway {
5150

spring-integration-core/src/main/java/org/springframework/integration/config/MessagingGatewayRegistrar.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,10 @@ private static List<MultiValueMap<String, Object>> captureMetaAnnotationValues(
199199
Set<String> chain = importingClassMetadata.getMetaAnnotationTypes(ann);
200200
if (chain.contains(MessagingGateway.class.getName())) {
201201
for (String meta : chain) {
202-
valuesHierarchy.add(importingClassMetadata.getAllAnnotationAttributes(meta));
202+
MultiValueMap<String, Object> attributes = importingClassMetadata.getAllAnnotationAttributes(meta);
203+
if (attributes != null) {
204+
valuesHierarchy.add(attributes);
205+
}
203206
}
204207
}
205208
}

0 commit comments

Comments
 (0)