有没有一种方法可以在不使用 Camel 中的 .bean 关键字的情况下在我的路由中自动装配一个 bean?

Is there a way I can autowire a bean in my route without using the .bean keyword in Camel?

例如,我有以下路线:

          from(.....)
          .choice()
          .when(condition1)
          .bean(Class1.class,"method1")
          .when(condition2)
           .bean(Class1.class,"method2")
          .otherwise()
          .bean(Class1.class,"method3")
          .end();

有没有一种方法可以自动装配 Class1 以使用所有方法,而不是使用 camel 中的 .bean 函数。如果你知道任何其他有效的方法。请让我知道。希望很快收到你的来信。

谢谢, 高瑟姆

您还有一些其他选择...

  • 可以使用 bean 组件来引用一个 spring bean

    from("direct:hello").to("bean:bye");
    
  • 可以使用 beanRef() API 来引用一个 spring bean

    from("direct:start").beanRef("beanName", "methodName");
    
  • 可以使用注解注入和bean()API引用bean

    @Autowired
    Private MyService myService;
    ...
    from("direct://start").bean(myservice, "process");