5.2. CDI 和 Camel Bean 组件
5.2.1. 按名称引用 bean
要按名称引用路由定义中的 bean,只需使用 @Named ("myNamedBean")
和 @ApplicationScoped
标注 bean。@RegisterForReflection
注释对于原生模式非常重要。
import javax.enterprise.context.ApplicationScoped; import javax.inject.Named; import io.quarkus.runtime.annotations.RegisterForReflection; @ApplicationScoped @Named("myNamedBean") @RegisterForReflection public class NamedBean { public String hello(String name) { return "Hello " + name + " from the NamedBean"; } }
然后,您可以在路由定义中使用 myNamedBean
名称:
import org.apache.camel.builder.RouteBuilder; public class CamelRoute extends RouteBuilder { @Override public void configure() { from("direct:named") .to("bean:namedBean?method=hello"); } }