我正在尝试添加一个Camel路由器到一个使用MongoDB的Sping Boot 工作项目中。我已经使用Mongo和Spring Boot自动配置,它工作得相当容易。
我对如何指定Sping Boot 生成的bean感到困惑,但我最终找到了SO上一个相关问题的答案,该问题称bean的名称为“mongo”。因此,我将我的rout更改为.to(“mongodb:mongo?...。
没有Spring尝试连接到默认参数,localhost和72017等。那么,我如何确定在www.example.com中指定哪些属性application.properties来设置连接参数呢?文档在这里没有帮助。
{Edit:我设法弄明白了这一点。下面的工作现在}
下面是我添加的Maven依赖项:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-mongodb</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-mongodb-starter</artifactId>
<version>${camel-version}</version>
</dependency>
下面是对我的www.example.com文件的补充application.properties
spring.data.mongodb.host=<IP>
spring.data.mongodb.port=27017
spring.data.mongodb.database=dev
spring.data.mongodb.username=test
spring.data.mongodb.password=password
Camel 路线:
package Order;
import org.apache.camel.builder.RouteBuilder;
import org.springframework.stereotype.Component;
@Component
public class OrderRouter extends RouteBuilder {
@Override
public void configure() {
// Process message
from("jms:topic:order")
.log("JMS Message: ${body}")
.choice()
.when().jsonpath("$.[?(@.type=='partial')]")
.to("mongodb:mongo?database=dev&collection=order&operation=insert");
}
}
这是否意味着我需要在连接Camel时定义一个bean?查看文档,似乎应该通过添加camel-mongodb-starter沿着应用程序来生成一个bean。properteis
https://camel.apache.org/components/latest/mongodb-component.html#_spring_boot_auto_configuration
1条答案
按热度按时间rqenqsqc1#
我找到了Spring Bean的名字,但只是通过四处寻找例子......
spring.data.mongodb