diff --git a/extensions/smallrye-fault-tolerance/deployment/src/main/java/io/quarkus/smallrye/faulttolerance/deployment/SmallRyeFaultToleranceProcessor.java b/extensions/smallrye-fault-tolerance/deployment/src/main/java/io/quarkus/smallrye/faulttolerance/deployment/SmallRyeFaultToleranceProcessor.java index d738e8f0f86c0c..003aff3a267c2d 100644 --- a/extensions/smallrye-fault-tolerance/deployment/src/main/java/io/quarkus/smallrye/faulttolerance/deployment/SmallRyeFaultToleranceProcessor.java +++ b/extensions/smallrye-fault-tolerance/deployment/src/main/java/io/quarkus/smallrye/faulttolerance/deployment/SmallRyeFaultToleranceProcessor.java @@ -242,19 +242,18 @@ void processFallbackMethodsAndClases(BeanArchiveIndexBuildItem beanArchiveIndexB continue; } - // Scan both the hierarchy of the declaring class and its interfaces like in + // Scan both the hierarchy of the declaring class and its (super)interfaces like in // io.smallrye.faulttolerance.internal.SecurityActions.findDeclaredMethodNames DotName name = clazz.name(); while (name != null && !DotNames.OBJECT.equals(name)) { - Set methods = classesToScan.computeIfAbsent(name, k -> new HashSet<>()); - methods.add(fallbackMethod); + classesToScan.computeIfAbsent(name, k1 -> new HashSet<>()).add(fallbackMethod); + clazz.interfaceNames().forEach(it -> classesToScan.computeIfAbsent(it, k -> new HashSet<>()).add(fallbackMethod)); ClassInfo classInfo = index.getClassByName(name); if (classInfo == null) { break; } name = classInfo.superName(); } - clazz.interfaceNames().forEach(it -> classesToScan.computeIfAbsent(it, k -> new HashSet<>()).add(fallbackMethod)); } for (Map.Entry> entry : classesToScan.entrySet()) {