in extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/InjectionPointsProcessor.java [336:385]
private void endpointInjectBeans(
CamelRecorder recorder,
BuildProducer<SyntheticBeanBuildItem> syntheticBeans,
IndexView index,
AnnotationInstance annot,
FieldInfo field) {
try {
Type fieldType = field.type();
Class<?> clazz = Class.forName(fieldType.toString());
if (Endpoint.class.isAssignableFrom(clazz)) {
syntheticBeans.produce(
SyntheticBeanBuildItem
.configure(fieldType.name())
.setRuntimeInit().scope(Singleton.class)
.supplier(
recorder.createEndpoint(resolveAnnotValue(index, annot),
(Class<? extends Endpoint>) clazz))
.addQualifier(annot)
.done());
} else if (ProducerTemplate.class.isAssignableFrom(clazz)) {
syntheticBeans.produce(
SyntheticBeanBuildItem
.configure(fieldType.name())
.setRuntimeInit().scope(Singleton.class)
.supplier(
recorder.createProducerTemplate(resolveAnnotValue(index, annot)))
.addQualifier(annot)
.done());
/*
* Note that ProducerTemplate injection points not having @EndpointInject are produced via
* CamelProducers.camelProducerTemplate()
*/
} else if (FluentProducerTemplate.class.isAssignableFrom(clazz)) {
syntheticBeans.produce(
SyntheticBeanBuildItem
.configure(fieldType.name())
.setRuntimeInit().scope(Singleton.class)
.supplier(
recorder.createFluentProducerTemplate(resolveAnnotValue(index, annot)))
.addQualifier(annot)
.done());
/*
* Note that FluentProducerTemplate injection points not having @EndpointInject are produced via
* CamelProducers.camelFluentProducerTemplate()
*/
}
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}