Search in sources :

Example 1 with OpenTelemetryCdiExtension

use of org.wildfly.extension.opentelemetry.api.OpenTelemetryCdiExtension in project wildfly by wildfly.

the class OpenTelemetryDependencyProcessor method addDependencies.

private void addDependencies(DeploymentUnit deploymentUnit) {
    final ModuleSpecification moduleSpecification = deploymentUnit.getAttachment(Attachments.MODULE_SPECIFICATION);
    final ModuleLoader moduleLoader = Module.getBootModuleLoader();
    try {
        CapabilityServiceSupport support = deploymentUnit.getAttachment(Attachments.CAPABILITY_SERVICE_SUPPORT);
        WeldCapability weldCapability = support.getCapabilityRuntimeAPI(Capabilities.WELD_CAPABILITY_NAME, WeldCapability.class);
        if (weldCapability.isPartOfWeldDeployment(deploymentUnit)) {
            weldCapability.registerExtensionInstance(new OpenTelemetryCdiExtension(), deploymentUnit);
            // Export the -api module only if CDI is available
            moduleSpecification.addSystemDependency(new ModuleDependency(moduleLoader, API_MODULE, false, true, true, false));
        }
        // Export all other modules regardless of CDI availability
        for (String module : EXPORTED_MODULES) {
            moduleSpecification.addSystemDependency(new ModuleDependency(moduleLoader, module, false, true, true, false));
        }
    } catch (CapabilityServiceSupport.NoSuchCapabilityException e) {
        throw new IllegalStateException();
    }
}
Also used : ModuleLoader(org.jboss.modules.ModuleLoader) ModuleDependency(org.jboss.as.server.deployment.module.ModuleDependency) ModuleSpecification(org.jboss.as.server.deployment.module.ModuleSpecification) WeldCapability(org.jboss.as.weld.WeldCapability) OpenTelemetryCdiExtension(org.wildfly.extension.opentelemetry.api.OpenTelemetryCdiExtension) CapabilityServiceSupport(org.jboss.as.controller.capability.CapabilityServiceSupport)

Aggregations

CapabilityServiceSupport (org.jboss.as.controller.capability.CapabilityServiceSupport)1 ModuleDependency (org.jboss.as.server.deployment.module.ModuleDependency)1 ModuleSpecification (org.jboss.as.server.deployment.module.ModuleSpecification)1 WeldCapability (org.jboss.as.weld.WeldCapability)1 ModuleLoader (org.jboss.modules.ModuleLoader)1 OpenTelemetryCdiExtension (org.wildfly.extension.opentelemetry.api.OpenTelemetryCdiExtension)1