void afterValidation()

in geronimo-metrics-extensions/geronimo-metrics-sigar/src/main/java/org/apache/geronimo/microprofile/metrics/extension/sigar/MicroprofileMetricsSigarRegistrar.java [39:55]


    void afterValidation(@Observes final AfterDeploymentValidation validation,
                         final BeanManager beanManager) {
        final InitSigar initSigar = new InitSigar(findTempDir());
        initSigar.ensureSigarIsSetup();
        if (!initSigar.isValid()) {
            return;
        }

        final MetricRegistry.Type registryType = MetricRegistry.Type.valueOf(
                System.getProperty("geronimo.metrics.sigar.registry.type", "BASE"));
        final Set<Bean<?>> beans = beanManager.getBeans(MetricRegistry.class, new RegistryTypeLiteral(registryType));
        final MetricRegistry registry = MetricRegistry.class.cast(beanManager.getReference(
                beanManager.resolve(beans), MetricRegistry.class, beanManager.createCreationalContext(null)));
        final MicroprofileMetricsAdapter adapter = new MicroprofileMetricsAdapter(registry);
        registrar = new SigarRegistrar(adapter.registrer(), adapter.unregistrer());
        registrar.start();
    }