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");
}
}