Spring boot 将Camel-springxml移动到Spring引导

Spring boot 将Camel-springxml移动到Spring引导,spring-boot,apache-camel,Spring Boot,Apache Camel,我想将我们的几个camel应用程序迁移到springboot。我发现的大多数示例都使用JavaDSL。我们目前支持的应用程序都基于SpringXML 我应该采取什么步骤将这些应用程序迁移到Spring Boot。如果我使用FatJarRouter,我的理解是驼峰上下文已经自动配置好了,所以在我看来,我应该能够在SpringXML中定义路由 @SpringBootApplication @ImportResource("classpath:camel-context.xml") public cl

我想将我们的几个camel应用程序迁移到springboot。我发现的大多数示例都使用JavaDSL。我们目前支持的应用程序都基于SpringXML

我应该采取什么步骤将这些应用程序迁移到Spring Boot。如果我使用FatJarRouter,我的理解是驼峰上下文已经自动配置好了,所以在我看来,我应该能够在SpringXML中定义路由

@SpringBootApplication
@ImportResource("classpath:camel-context.xml")
public class CamelApplication extends FatJarRouter {

    public static void main(String[] args) {
        SpringApplication.run(CamelApplication.class, args);
    }

    @Bean
    String myBean() {
        return "I'm Spring bean!";
    }
}
camel-context.xml

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
    <routes xmlns="http://camel.apache.org/schema/spring">
        <route id="test">
            <from uri="timer://trigger"/>
            <transform>
                <simple>ref:myBean</simple>
            </transform>
            <to uri="log:out"/>
        </route>
    </routes>
</beans>

请参阅本页底部的“如何包含XML路由”:


是的,我们应该让这更容易。我已经记录了一张罚单:我还应该使用FatJarRouter吗?嗨,克劳斯,我想知道什么是最佳实践。当我开始写SpringBoot中scrach的所有路线时,我正在思考以下内容。1) 如果我用xml编写路由或RESTDSL,它们将在一个地方。但我不会按照spring的最佳实践,因为它不适合任何xml。我觉得用xml阅读路由也更容易。2) 如果我用骆驼dsl写路由,有什么好处吗。有人在争论这个问题吗?任何链接。“再见XML,你好JavaDSL”是中所述。这为新代码的使用方向提供了一些指示。@davsclaus在如何添加REST-XMLDSL部分方面存在一些困惑。上面的链接声明**“Rest DSL XML文件应该是Camel XML Rest(而不是CamelContext),例如”其中as[link]声明:italic XML,要使用XML DSL定义服务,请将Rest元素定义为CamelContext元素的子元素。
2015-11-13 15:59:13.734  WARN 2156 --- [on(5)-127.0.0.1] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Cannot locate BeanDefinitionParser for element [routes]
Offending resource: class path resource [camel-context.xml]
    at org.springframework.beans.factory.parsing.FailFastProblemReporter.fatal(FailFastProblemReporter.java:60) ~[spring-beans-4.2.2.RELEASE.jar:na]
    at org.springframework.beans.factory.parsing.ReaderContext.fatal(ReaderContext.java:68) ~[spring-beans-4.2.2.RELEASE.jar:na]