【问题标题】:Is there a way I can autowire a bean in my route without using the .bean keyword in Camel?有没有一种方法可以在我的路由中自动装配一个 bean,而无需在 Camel 中使用 .bean 关键字?
【发布时间】:2015-05-21 17:51:31
【问题描述】:

比如说,我有以下路线:

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

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

谢谢, 高瑟姆

【问题讨论】:

    标签: java spring apache-camel javabeans autowired


    【解决方案1】:

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

    • 可以使用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");
      

    【讨论】:

    • 我按照您的建议使用了第二种方法。但是我的团队负责人希望我完全摆脱 .bean 方法并改为自动装配。有可能这样做吗?。
    • 不确定“自动装配”是什么意思...您必须使用一些 Camel 组件/API 将其绑定到路由...否则,您可以只使用处理器并委托给豆子
    猜你喜欢
    • 1970-01-01
    • 2016-06-03
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多