@@ -1229,7 +1229,7 @@ private Object resolveMultipleBeans(DependencyDescriptor descriptor, @Nullable S
1229
1229
1230
1230
if (descriptor .isStreamAccess ()) {
1231
1231
Map <String , Object > matchingBeans = findAutowireCandidates (beanName , type ,
1232
- new MultiElementDescriptor (descriptor ));
1232
+ new MultiElementDescriptor (descriptor , false ));
1233
1233
if (autowiredBeanNames != null ) {
1234
1234
autowiredBeanNames .addAll (matchingBeans .keySet ());
1235
1235
}
@@ -1247,7 +1247,7 @@ else if (type.isArray()) {
1247
1247
return null ;
1248
1248
}
1249
1249
Map <String , Object > matchingBeans = findAutowireCandidates (beanName , componentType ,
1250
- new MultiElementDescriptor (descriptor ));
1250
+ new MultiElementDescriptor (descriptor , true ));
1251
1251
if (matchingBeans .isEmpty ()) {
1252
1252
return null ;
1253
1253
}
@@ -1267,7 +1267,7 @@ else if (Collection.class.isAssignableFrom(type) && type.isInterface()) {
1267
1267
return null ;
1268
1268
}
1269
1269
Map <String , Object > matchingBeans = findAutowireCandidates (beanName , elementType ,
1270
- new MultiElementDescriptor (descriptor ));
1270
+ new MultiElementDescriptor (descriptor , true ));
1271
1271
if (matchingBeans .isEmpty ()) {
1272
1272
return null ;
1273
1273
}
@@ -1292,7 +1292,7 @@ else if (Map.class == type) {
1292
1292
return null ;
1293
1293
}
1294
1294
Map <String , Object > matchingBeans = findAutowireCandidates (beanName , valueType ,
1295
- new MultiElementDescriptor (descriptor ));
1295
+ new MultiElementDescriptor (descriptor , true ));
1296
1296
if (matchingBeans .isEmpty ()) {
1297
1297
return null ;
1298
1298
}
@@ -1716,10 +1716,13 @@ public NestedDependencyDescriptor(DependencyDescriptor original) {
1716
1716
/**
1717
1717
* A dependency descriptor marker for multiple elements.
1718
1718
*/
1719
- private static class MultiElementDescriptor extends NestedDependencyDescriptor {
1719
+ private static class MultiElementDescriptor extends DependencyDescriptor {
1720
1720
1721
- public MultiElementDescriptor (DependencyDescriptor original ) {
1721
+ public MultiElementDescriptor (DependencyDescriptor original , boolean nested ) {
1722
1722
super (original );
1723
+ if (nested ) {
1724
+ increaseNestingLevel ();
1725
+ }
1723
1726
}
1724
1727
}
1725
1728
0 commit comments