Skip to content

Quarkus JMS documentation wrong? #48141

Open
@mikethecalamity

Description

@mikethecalamity

Describe the bug

Per the Quarkus JMS documentation here: https://quarkus.io/guides/jms

It seems I should be able to setup the example under the "Qpid JMS - AMQP", then just swap the dependency and configs to artemis and all should be well.

But when I do that, I get Unsatisfied dependency for type jakarta.jms.ConnectionFactory.

Is something missing from the documentation? Or is something broken in this extension?

I wrote an issue on the Artemis JMS extension as well: quarkiverse/quarkus-artemis#812

Expected behavior

Successful build

Actual behavior

                [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 jakarta.jms.ConnectionFactory and qualifiers [@Default]
                - injection target: my.project.rest.MyDataResource#connectionFactory
                - declared on CLASS bean [types=[my.project.rest.MyDataResource, java.lang.Object], qualifiers=[@Default, @Any], target=my.project.rest.MyDataResource]
                at io.quarkus.arc.processor.BeanDeployment.processErrors(BeanDeployment.java:1581)
                at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:338)
                at io.quarkus.arc.processor.BeanProcessor.initialize(BeanProcessor.java:178)
                at io.quarkus.arc.deployment.ArcProcessor.validate(ArcProcessor.java:488)
                at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
                at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:856)
                at io.quarkus.builder.BuildContext.run(BuildContext.java:255)
                at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
                at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2675)
                at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2654)
                at org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1627)
                at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1594)
                at java.base/java.lang.Thread.run(Thread.java:1583)
                at org.jboss.threads.JBossThread.run(JBossThread.java:499)
        Caused by: jakarta.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type jakarta.jms.ConnectionFactory and qualifiers [@Default]
                - injection target: my.project.rest.MyDataResource#connectionFactory
                - declared on CLASS bean [types=[my.project.rest.MyDataResource, java.lang.Object], qualifiers=[@Default, @Any], target=my.project.rest.MyDataResource]
                at io.quarkus.arc.processor.Beans.resolveInjectionPoint(Beans.java:547)
                at io.quarkus.arc.processor.BeanInfo.init(BeanInfo.java:689)
                at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:323)
                ... 12 more

How to Reproduce?

  1. Clone https://github.com/mikethecalamity/quarkus-service
  2. Checkout branch: artemis
  3. Run: gradlew data-manager:quarkusBuild

If you uncomment the qpid dependency and comment the artemis dependency in data-manager/build.gradle, it will succeed.

Output of uname -a or ver

No response

Output of java -version

Eclipse Temurin JDK 21

Quarkus version or git rev

Quarkus 3.22.3 / Quarkus Artemis JMS 3.8.0

Build tool (ie. output of mvnw --version or gradlew --version)

Gradle 8.12.1

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions