spring boot + mongodb + camel route connection issue

时间:2018-03-16 12:50:30

标签: mongodb spring-boot apache-camel

我是camel route的新手,尝试创建一个读取文件内容并插入mongodb的路由,有一些错误,看起来连接端点不正确。

路线类

@Component
public class EmailResponseRoute extends RouteBuilder {

    @Override
    public void configure() throws Exception {
        from("file:C:/EmailResponseAutomation/response/")
        .to("mongodb://127.0.0.1:27017?database=email_response&collection=emailResponse&operation=save");
    }
}

记录错误

  

org.apache.camel.spring.boot.CamelSpringBootInitializationException:   了java.lang.RuntimeException:   org.apache.camel.FailedToCreateRouteException:无法创建路由   route1 at:>>>   为[mongodb的://127.0.0.1:27017数据库= email_response&安培;采集= emailResponse&安培;操作=保存]   <<<在路线:路线(路线1)[[从[文件:C:/工作区/ EmailRes ...   因为无法解析端点:   MongoDB的://127.0.0.1:27017集= emailResponse和放大器;数据库= email_response和放大器;操作=保存   由于:找不到与方案有关的组件:mongodb at   org.apache.camel.spring.boot.RoutesCollector.onApplicationEvent(RoutesCollector.java:126)   〜[camel-spring-boot-2.17.0.jar:2.17.0] at   org.apache.camel.spring.boot.RoutesCollector.onApplicationEvent(RoutesCollector.java:41)   〜[camel-spring-boot-2.17.0.jar:2.17.0] at   org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)   〜[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE] at   org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)   〜[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE] at   org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)   〜[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE] at   org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:399)   〜[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE] at   org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:353)   〜[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE] at   org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:887)   〜[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE] at   org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:161)   〜[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE] at   org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:552)   〜[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE] at   org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140)   〜[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE] at   org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752)   [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE] at   org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:388)   [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE] at   org.springframework.boot.SpringApplication.run(SpringApplication.java:327)   [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE] at   org.springframework.boot.SpringApplication.run(SpringApplication.java:1246)   [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE] at   org.springframework.boot.SpringApplication.run(SpringApplication.java:1234)   [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE] at   com.era.conf.ApplicationConfiguration.main(ApplicationConfiguration.java:12)   [classes /:na]引起:java.lang.RuntimeException:   org.apache.camel.FailedToCreateRouteException:无法创建路由   route1 at:>>>   为[mongodb的://127.0.0.1:27017数据库= email_response&安培;采集= emailResponse&安培;操作=保存]   <<<在路线:路线(路线1)[[从[文件:C:/工作区/ EmailRes ...   因为无法解析端点:   MongoDB的://127.0.0.1:27017集= emailResponse和放大器;数据库= email_response和放大器;操作=保存   由于:找不到与方案有关的组件:mongodb at   org.apache.camel.spring.boot.CamelSpringBootApplicationController.run(CamelSpringBootApplicationController.java:73)   〜[camel-spring-boot-2.17.0.jar:2.17.0] at   org.apache.camel.spring.boot.CamelMainRunController $ DaemonTask.run(CamelMainRunController.java:43)   〜[camel-spring-boot-2.17.0.jar:2.17.0] at   java.lang.Thread.run(Thread.java:745)〜[na:1.8.0_102] at at   org.apache.camel.spring.boot.CamelMainRunController.start(CamelMainRunController.java:36)   〜[camel-spring-boot-2.17.0.jar:2.17.0] at   org.apache.camel.spring.boot.RoutesCollector.onApplicationEvent(RoutesCollector.java:113)   〜[camel-spring-boot-2.17.0.jar:2.17.0] ...省略了16个常用帧   引起:org.apache.camel.FailedToCreateRouteException:失败   在以下位置创建路线route1:>>>   为[mongodb的://127.0.0.1:27017数据库= email_response&安培;采集= emailResponse&安培;操作=保存]   <<<在路线:路线(路线1)[[从[文件:C:/工作区/ EmailRes ...   因为无法解析端点:   MongoDB的://127.0.0.1:27017集= emailResponse和放大器;数据库= email_response和放大器;操作=保存   由于:找不到与方案有关的组件:mongodb at   org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1072)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:196)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:974)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:3295)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:3018)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.impl.DefaultCamelContext.access $ 000(DefaultCamelContext.java:175)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.impl.DefaultCamelContext $ 2.call(DefaultCamelContext.java:2848)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.impl.DefaultCamelContext $ 2.call(DefaultCamelContext.java:2844)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:2867)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:2844)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:2813)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.main.Main.doStart(Main.java:127)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.main.MainSupport.run(MainSupport.java:138)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.spring.boot.CamelSpringBootApplicationController.run(CamelSpringBootApplicationController.java:68)   〜[camel-spring-boot-2.17.0.jar:2.17.0] ...省略了20个常用帧   引起:org.apache.camel.ResolveEndpointFailedException:失败   解决端点:   MongoDB的://127.0.0.1:27017集= emailResponse和放大器;数据库= email_response和放大器;操作=保存   由于:找不到与方案有关的组件:mongodb at   org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:594)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:79)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:211)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:107)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:113)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.model.SendDefinition.resolveEndpoint(SendDefinition.java:62)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.model.SendDefinition.createProcessor(SendDefinition.java:56)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.model.ProcessorDefinition.makeProcessorImpl(ProcessorDefinition.java:534)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:495)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:219)   〜[camel-core-2.17.0.jar:2.17.0] at   org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1069)   〜[camel-core-2.17.0.jar:2.17.0] ...省略了35个常用帧

1 个答案:

答案 0 :(得分:1)

你需要拥有apache camel mongodb依赖。添加此依赖项

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-mongodb</artifactId>
    <version>x.y.z</version>
    <!-- use the same version as your Camel core version -->
</dependency>

正如您从异常中看到的那样

  

找不到使用scheme的组件:mongodb