1

在我的骆驼 RouteConfig.java 中,我无法连接到 mongo 数据库。我得到以下异常: 原因:org.apache.camel.NoSuchBeanException:在注册表中找不到 bean:myDb 类型:com.mongodb.Mongo at org.apache.camel.util.CamelContextHelper.mandatoryLookup(CamelContextHelper .java:130) 在 org.apache.camel.component.mongodb.MongoDbComponent.createEndpoint(MongoDbComponent.java:43) 在 org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:91) 在 org.apache。 camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:461) ... 42 更多

RouteConfig.java from("jms:queue:Test").bean(new SomeBean()).to("mongodb:mydb=flights&collection=tickets&operation=insert");

骆驼上下文.xml

任何帮助表示赞赏

谢谢洛克什

4

2 回答 2

1

如果您使用版本 >= 3 的 mongodb,请小心。您应该在 bean 定义中使用 classcom.mongodb.MongoClient而不是。com.mongodb.Mongo

于 2016-12-01T08:44:05.923 回答
0

您需要在注册表中将 mongodb 设置为 bean。如果您使用 Spring,那么它只是一个

<bean id="mongodb" class=...>

如果您使用 Java,那么您需要将其添加到 Camel 注册表实现之一,例如 JndiRegistry 或 SimpleRegistry。

如果您有 Camel in Action 这本书,请参阅第 4 章第 4.3 节,其中涵盖了 Camel 注册表。

于 2013-02-25T17:52:44.917 回答