public void onContextInitializing()

in extensions/quartz/runtime/src/main/java/org/apache/camel/quarkus/component/quartz/CamelQuartzRecorder.java [80:123]


        public void onContextInitializing(CamelContext context) throws VetoCamelContextStartException {
            QuartzComponent component = context.getComponent("quartz", QuartzComponent.class);
            if (component instanceof QuarkusQuartzComponent) {
                QuarkusQuartzComponent quarkusQuartzComponent = (QuarkusQuartzComponent) component;
                if (quarkusQuartzComponent.isAutoWiringRequested()) {
                    InjectableInstance<Scheduler> schedulers = Arc.container().select(Scheduler.class);

                    LinkedList<Scheduler> foundSchedulers = new LinkedList<>();

                    for (InstanceHandle<Scheduler> handle : schedulers.handles()) {
                        //Scheduler may be null in several cases, which would cause an exception in traditional autowiring
                        //see https://github.com/quarkusio/quarkus/issues/27929 for more details
                        if (handle.getBean().getBeanClass().equals(QuartzSchedulerImpl.class)) {
                            Scheduler scheduler = Arc.container().select(QuartzScheduler.class).getHandle().get()
                                    .getScheduler();
                            if (scheduler != null) {
                                //scheduler is added only if is not null
                                foundSchedulers.add(scheduler);
                            }
                            continue;
                        }
                        foundSchedulers.add(handle.get());
                    }

                    if (foundSchedulers.size() > 1) {
                        throw new AmbiguousResolutionException(String.format("Found %d org.quartz.Scheduler beans (%s).",
                                foundSchedulers.size(), foundSchedulers.stream().map(s -> {
                                    try {
                                        return s.getSchedulerName();
                                    } catch (SchedulerException e) {
                                        return "Scheduler name retrieval failed.";
                                    }
                                }).collect(Collectors.joining(", "))));
                    } else if (!foundSchedulers.isEmpty()) {
                        if (LOG.isInfoEnabled()) {
                            LOG.info(
                                    "Autowired property: scheduler on component: quartz as exactly one instance of type: {} found in the registry",
                                    Scheduler.class.getName());
                        }
                        quarkusQuartzComponent.setScheduler(foundSchedulers.getFirst());
                    }
                }
            }
        }