Package org.a2aproject.sdk.server
Annotation Interface Instrumented
@Qualifier
@Retention(RUNTIME)
@Target({FIELD,TYPE,METHOD,PARAMETER})
public @interface Instrumented
CDI qualifier for beans that have been wrapped with observability
instrumentation (e.g. distributed tracing, context propagation, metrics).
When an instrumentation module (such as the OpenTelemetry server extra) is on the classpath, it may produce:
- An
@InstrumentedA2AHttpClientthat wraps the application's own HTTP client (or the default factory-created one) with trace-context header injection. - An
@InstrumentedExecutorthat wraps a user-provided@Namedexecutor (or a default thread pool) with OpenTelemetry context propagation.
BasePushNotificationSender prefers
@Instrumented beans when available, falling back to unqualified /
@Named beans, and finally to built-in defaults.
This qualifier lets instrumentation modules add behaviour transparently, without replacing the application's custom configuration (mTLS, proxy, authentication, custom thread pools, etc.).
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classSupports programmatic CDI lookup of@Instrumentedbeans viaCDI.current().select(A2AHttpClient.class, Instrumented.Literal.INSTANCE).