Skip to content

[Bug]: Regression - Build-time injection fails without AgentExecutor in Quarkus (after fix #215) #267

@hakdogan

Description

@hakdogan

What happened?

Description

I reported an issue about build-time injection failure for unused beans from the a2a-java-reference-server dependency.

This was supposed to be fixed by PR #215 related to issue #213.

After the new version of the A2A Java SDK was released, I verified whether the issue still occurred.
At compile time, I still got an UnsatisfiedResolutionException.

Steps to Reproduce

  1. Add dependency a2a-java-sdk-reference-jsonrpc
  2. Do not provide AgentCard and AgentExecutor
  3. Build the project

Result: UnsatisfiedResolutionException occurs at build time.

Expected Behavior

Build should succeed without requiring AgentExecutor (as the previous fix intended).

Notes

  • If AgentExecutor is provided, the mentioned build-time error does not occur, even if AgentCard is not provided.
  • This behavior seems different from the previous case and may indicate the fix was only partial.

Relevant log output

[ERROR] Failed to execute goal io.quarkus.platform:quarkus-maven-plugin:3.24.3:build (default) on project financial-agent: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR]         [error]: Build step io.quarkus.arc.deployment.ArcProcessor#validate threw an exception: jakarta.enterprise.inject.spi.DeploymentException: jakarta.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type io.a2a.server.agentexecution.AgentExecutor and qualifiers [@Default]
[ERROR]         - injection target: parameter 'agentExecutor' of io.a2a.server.requesthandlers.DefaultRequestHandler constructor
[ERROR]         - declared on CLASS bean [types=[io.a2a.server.requesthandlers.DefaultRequestHandler, java.lang.Object, io.a2a.server.requesthandlers.RequestHandler], qualifiers=[@Default, @Any], target=io.a2a.server.requesthandlers.DefaultRequestHandler]
[ERROR]         at io.quarkus.arc.processor.BeanDeployment.processErrors(BeanDeployment.java:1594)
[ERROR]         at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:341)
[ERROR]         at io.quarkus.arc.processor.BeanProcessor.initialize(BeanProcessor.java:178)
[ERROR]         at io.quarkus.arc.deployment.ArcProcessor.validate(ArcProcessor.java:488)
[ERROR]         at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
[ERROR]         at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:856)
[ERROR]         at io.quarkus.builder.BuildContext.run(BuildContext.java:255)
[ERROR]         at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
[ERROR]         at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2651)
[ERROR]         at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2630)
[ERROR]         at org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1622)
[ERROR]         at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1589)
[ERROR]         at java.base/java.lang.Thread.run(Thread.java:1570)
[ERROR]         at org.jboss.threads.JBossThread.run(JBossThread.java:501)
[ERROR] Caused by: jakarta.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type io.a2a.server.agentexecution.AgentExecutor and qualifiers [@Default]
[ERROR]         - injection target: parameter 'agentExecutor' of io.a2a.server.requesthandlers.DefaultRequestHandler constructor
[ERROR]         - declared on CLASS bean [types=[io.a2a.server.requesthandlers.DefaultRequestHandler, java.lang.Object, io.a2a.server.requesthandlers.RequestHandler], qualifiers=[@Default, @Any], target=io.a2a.server.requesthandlers.DefaultRequestHandler]
[ERROR]         at io.quarkus.arc.processor.Beans.resolveInjectionPoint(Beans.java:547)
[ERROR]         at io.quarkus.arc.processor.BeanInfo.init(BeanInfo.java:689)
[ERROR]         at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:326)
[ERROR]         ... 12 more

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions