Spring boot 从其他路由器引用路由器的apache camel java配置

Spring boot 从其他路由器引用路由器的apache camel java配置,spring-boot,apache-camel,Spring Boot,Apache Camel,我正在将ApacheCamel路由从XML转换为基于Java的路由。在XML中,我可以使用ref属性从另一个路由器引用一个路由器,如下面的小代码段: <route> <from ref="process"/> <to ref="logging"/> </route> <route> <from ref="logging"/> <to uri="bean:xyz?method=hel

我正在将ApacheCamel路由从XML转换为基于Java的路由。在XML中,我可以使用ref属性从另一个路由器引用一个路由器,如下面的小代码段:

<route>
     <from ref="process"/>
     <to ref="logging"/>
</route>

<route>
    <from ref="logging"/>
    <to uri="bean:xyz?method=hello"/>
</route>
我想在其他路由中引用上面用Java创建的路由。我怎么做?我使用的是spring boot 1.4.3和camel 2.18.1

更新问题,因为我无法在注释中添加代码段

java类中有多个RoutesBuilder,我们根据条件创建每个RoutesBuilder

@Bean (name = "abc")
    @ConditionalOnProperty (name = "someproperty", havingValue = "true")
    RoutesBuilder directSMSRouter() {
        return new RouteBuilder() {
            @Override
            public void configure() throws Exception {
                from("direct:sendSMS")
                    .bean(abc, "sendSmsMessage");
            }
        };
    }

    @Bean (name = "xyz")
    @ConditionalOnExpression ("'${someproperty1}'.equalsIgnoreCase('true') ||" +
                              "'${someproperty2}'.equalsIgnoreCase('true') ||" +
                              "'${someproperty3}'.equalsIgnoreCase" +
                              "('true') || '${someproperty4}'.equalsIgnoreCase('true') ")
    RoutesBuilder directEmailRouter() {
        return new RouteBuilder() {
            @Override
            public void configure() throws Exception {
                from("direct:sendEmail")
                    .bean(xyz, "sendMessage");
            }
        };
    }

我们可以在configure方法中创建多个路由,但我的问题是如何在RouteBuilder bean中创建一个路由,而另一个路由是不同的RouteBuilder。首先,这段java代码正在创建RouteBuilder。我认为您的应用程序中不能有多个RouteBuilder。您在configure方法中所做的是创建路由。您可以在configure方法中写入任意数量的路由。你可以写另一行,比如

from("blah blah").to("xyz")
这应该有助于这一进程。
看一看

我已经更新了问题,问题是指在RouteBuilder中创建的一条路由在不同RouteBuilder中的其他路由中,而不是关于在configure方法中创建多条路由
from("blah blah").to("xyz")