本文介绍了spring boot + mongodb + 骆驼路由连接问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是骆驼路由的新手,试图创建一个路由来读取文件的内容并插入到 mongodb 中,它有一些问题,似乎连接端点不正确.

I am new to camel route, trying to create a route which will read the content of a file and insert in mongodb, there is some wrong with it, seems like connection endpoint is not correct.

路由类

@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:无法创建路由路线 1 在:>>>至[mongodb://127.0.0.1:27017?database=email_response&collection=emailResponse&operation=save]<<<在路由中:Route(route1)[[From[file:C:/workspace/EmailRes...由于无法解析端点:mongodb://127.0.0.1:27017?collection=emailResponse&database=email_response&operation=save由于:未找到具有方案的组件:mongodb atorg.apache.camel.spring.boot.RoutesCollector.onApplicationEvent(RoutesCollector.java:126)~[camel-spring-boot-2.17.0.jar:2.17.0] 在org.apache.camel.spring.boot.RoutesCollector.onApplicationEvent(RoutesCollector.java:41)~[camel-spring-boot-2.17.0.jar:2.17.0] 在org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE] 在org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE] 在org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE] 在org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:399)~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE] 在org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:353)~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE] 在org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:887)~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE] 在org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:161)~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE] 在org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:552)~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE] 在org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140)~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE] 在org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752)[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE] 在org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:388)[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE] 在org.springframework.boot.SpringApplication.run(SpringApplication.java:327)[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE] 在org.springframework.boot.SpringApplication.run(SpringApplication.java:1246)[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE] 在org.springframework.boot.SpringApplication.run(SpringApplication.java:1234)[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE] 在com.era.conf.ApplicationConfiguration.main(ApplicationConfiguration.java:12)[classes/:na] 引起:java.lang.RuntimeException:org.apache.camel.FailedToCreateRouteException:无法创建路由路线 1 在:>>>至[mongodb://127.0.0.1:27017?database=email_response&collection=emailResponse&operation=save]<<<在路由中:Route(route1)[[From[file:C:/workspace/EmailRes...由于无法解析端点:mongodb://127.0.0.1:27017?collection=emailResponse&database=email_response&operation=save由于:未找到具有方案的组件:mongodb atorg.apache.camel.spring.boot.CamelSpringBootApplicationController.run(CamelSpringBootApplicationController.java:73)~[camel-spring-boot-2.17.0.jar:2.17.0] 在org.apache.camel.spring.boot.CamelMainRunController$DaemonTask.run(CamelMainRunController.java:43)~[camel-spring-boot-2.17.0.jar:2.17.0] 在java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_102] 在org.apache.camel.spring.boot.CamelMainRunController.start(CamelMainRunController.java:36)~[camel-spring-boot-2.17.0.jar:2.17.0] 在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?database=email_response&collection=emailResponse&operation=save]<<<在路由中:Route(route1)[[From[file:C:/workspace/EmailRes...由于无法解析端点:mongodb://127.0.0.1:27017?collection=emailResponse&database=email_response&operation=save由于:未找到具有方案的组件:mongodb atorg.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1072)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:196)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:974)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:3295)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:3018)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.impl.DefaultCamelContext.access$000(DefaultCamelContext.java:175)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2848)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2844)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:2867)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:2844)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:2813)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.main.Main.doStart(Main.java:127)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.main.MainSupport.run(MainSupport.java:138)~[camel-core-2.17.0.jar:2.17.0] 在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?collection=emailResponse&database=email_response&operation=save由于:未找到具有方案的组件:mongodb atorg.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:594)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:79)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:211)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:107)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:113)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.model.SendDefinition.resolveEndpoint(SendDefinition.java:62)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.model.SendDefinition.createProcessor(SendDefinition.java:56)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.model.ProcessorDefinition.makeProcessorImpl(ProcessorDefinition.java:534)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:495)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:219)~[camel-core-2.17.0.jar:2.17.0] 在org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1069)~[camel-core-2.17.0.jar:2.17.0] ...省略了35个常用帧

推荐答案

你需要有 apache camel mongodb 依赖.添加这个依赖

You need to have apache camel mongodb dependency. Add this dependency

<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>

正如你从异常中看到的

未找到使用方案的组件:mongodb

这篇关于spring boot + mongodb + 骆驼路由连接问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-03 19:47