Repository: quarkusio/quarkus
Issue: CDI: programmatic lookup problem detected - Nayarana - 1.9.0.Final

**Describe the bug**
A warning message is printed when using `@Transactional` in 1.9.0.Final

**Expected behavior**
No warning message should show up.

**Actual behavior**
This message on startup is shown:

``` 
CDI: programmatic lookup problem detected
-----------------------------------------
At least one bean matched the required type and qualifiers but was marked as unused and removed during build
Removed beans:
	- PRODUCER_METHOD bean io.quarkus.narayana.jta.runtime.NarayanaJtaProducers#userTransaction() [types=[interface javax.transaction.UserTransaction], qualifiers=[@javax.enterprise.inject.Default(), @javax.enterprise.inject.Any()]]
Required type: interface javax.transaction.UserTransaction
Required qualifiers: [@javax.enterprise.inject.Default()]
```


**To Reproduce**

Create any project using `@Transactional` annotation in some bean. Then just package and startup application.

**Configuration**

**Screenshots**

**Environment (please complete the following information):**
 - Output of `uname -a` or `ver`: 
 - Output of `java -version`: JDK 11
 - GraalVM version (if different from Java): 
 - Quarkus version or git rev: 1.9.0.Final
 - Build tool (ie. output of `mvnw --version` or `gradlew --version`): 

**Additional context**
Related to https://github.com/quarkusio/quarkus/issues/12420

Changed files:
extensions/quartz/runtime/src/main/java/io/quarkus/quartz/runtime/QuartzScheduler.java

diff --git a/extensions/quartz/runtime/src/main/java/io/quarkus/quartz/runtime/QuartzScheduler.java b/extensions/quartz/runtime/src/main/java/io/quarkus/quartz/runtime/QuartzScheduler.java
index b51588818b6..c8d8f5e6701 100644
--- a/extensions/quartz/runtime/src/main/java/io/quarkus/quartz/runtime/QuartzScheduler.java
+++ b/extensions/quartz/runtime/src/main/java/io/quarkus/quartz/runtime/QuartzScheduler.java
@@ -43,8 +43,6 @@
 import com.cronutils.model.definition.CronDefinitionBuilder;
 import com.cronutils.parser.CronParser;
 
-import io.quarkus.arc.Arc;
-import io.quarkus.arc.InstanceHandle;
 import io.quarkus.runtime.StartupEvent;
 import io.quarkus.scheduler.Scheduled;
 import io.quarkus.scheduler.Scheduled.ConcurrentExecution;
@@ -79,7 +77,8 @@ org.quartz.Scheduler produceQuartzScheduler() {
     }
 
     public QuartzScheduler(SchedulerContext context, QuartzSupport quartzSupport, Config config,
-            SchedulerRuntimeConfig schedulerRuntimeConfig, Event<SkippedExecution> skippedExecutionEvent, Instance<Job> jobs) {
+            SchedulerRuntimeConfig schedulerRuntimeConfig, Event<SkippedExecution> skippedExecutionEvent, Instance<Job> jobs,
+            Instance<UserTransaction> userTransation) {
         enabled = schedulerRuntimeConfig.enabled;
         if (!enabled) {
             LOGGER.info("Quartz scheduler is disabled by config property and will not be started");
@@ -92,10 +91,10 @@ public QuartzScheduler(SchedulerContext context, QuartzSupport quartzSupport, Co
             Map<String, ScheduledInvoker> invokers = new HashMap<>();
             UserTransaction transaction = null;
 
-            try (InstanceHandle<UserTransaction> handle = Arc.container().instance(UserTransaction.class)) {
+            try {
                 boolean manageTx = quartzSupport.getBuildTimeConfig().storeType.isNonManagedTxJobStore();
-                if (manageTx && handle.isAvailable()) {
-                    transaction = handle.get();
+                if (manageTx && userTransation.isResolvable()) {
+                    transaction = userTransation.get();
                 }
                 Properties props = getSchedulerConfigurationProperties(quartzSupport);