in geronimo-metrics/src/main/java/org/apache/geronimo/microprofile/metrics/cdi/MetricsExtension.java [519:540]
private void addBean(final AfterBeanDiscovery afterBeanDiscovery,
final String idSuffix,
final Class<?> type,
final Annotation qualifier,
final Object instance,
final boolean addDefaultQualifier) {
final BeanConfigurator<Object> configurator = afterBeanDiscovery.addBean()
.id(MetricsExtension.class.getName() + ":" + type.getName() + ":" + idSuffix)
.beanClass(type)
.scope(Dependent.class) // avoid proxies, tck use assertEquals(proxy, registry.get(xxx))
.createWith(c -> instance);
if (MetricRegistry.class == type) {
configurator.types(MetricRegistry.class, RegistryImpl.class, Objects.class);
} else {
configurator.types(type, Object.class);
}
if (addDefaultQualifier) {
configurator.qualifiers(qualifier, Default.Literal.INSTANCE, Any.Literal.INSTANCE);
} else {
configurator.qualifiers(qualifier, Any.Literal.INSTANCE);
}
}