Ref
JVM since1.0.0 Native since1.0.0
Route messages to an endpoint looked up dynamically by name in the Camel Registry.
What’s inside
-
Ref component, URI syntax:
ref:name
Please refer to the above link for usage and configuration details.
Maven coordinates
Or add the coordinates to your existing project:
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-ref</artifactId>
</dependency>
Check the User guide for more information about writing Camel Quarkus applications.
Usage
CDI producer methods can be harnessed to bind endpoints to the Camel registry, so that they can be resolved using the ref
URI scheme in Camel routes.
For example, to produce endpoint beans:
@ApplicationScoped
public class MyEndpointProducers {
@Inject
CamelContext context;
@Singleton
@Produces
@Named("endpoint1")
public Endpoint directStart() {
return context.getEndpoint("direct:start");
}
@Singleton
@Produces
@Named("endpoint2")
public Endpoint logEnd() {
return context.getEndpoint("log:end");
}
}
Use ref:
to refer to the names of the CDI beans that were bound to the Camel registry:
public class MyRefRoutes extends RouteBuilder {
@Override
public void configure() {
// direct:start -> log:end
from("ref:endpoint1")
.to("ref:endpoint2");
}
}