-
Sub-task
-
Resolution: Done
-
Major
-
None
-
Documentation (Ref Guide, User Guide, etc.)
If a default bean is installed and no other bean with the same type and qualifiers are installed, then the default bean should be used. But if there is some bean with the same type and qualifiers then we should ignore the default one when we resolve injection points.
For instance we have two beans. One is annotated @DefaultBean and another one is a usual bean.
So, IBeanManager.getBeans(true, injectionPoint) should return the usual bean but IBeanManager.getBeans(false, injectionPoint) should return both beans.
Be aware of
Any producer methods or producer fields declared on a default managed bean are automatically registered as default producers, with Method.getGenericReturnType() or Field.getGenericType() determining the type of the default producer. The default producer type can be overridden by specifying @DefaultBean on the producer method or field.
See http://docs.jboss.org/seam/3/solder/latest/reference/en-US/html/defaultbeans.html for details.