0

我正在尝试使用 Spring Boot 将 Camel rout 添加到使用 MongoDB 的工作项目中。我已经将 Mongo 与 Spring Boot 自动配置一起使用,它工作起来非常容易。

我对如何指定 Spring Boot 生成的 bean 感到困惑,但我终于在 SO 上找到了一个相关问题的答案,该问题说 bean 的名称是“mongo”。所以我把我的溃败改为 .to("mongodb:mongo?....

没有 Spring 正在尝试连接到默认参数,localhost 和 72017 等。那么我如何确定在 application.properties 中指定哪些属性来设置连接参数?该文档在这里没有帮助。

{编辑:我设法弄清楚了。下面的作品现在}

这是我添加的 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>

这是对我的 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

还有骆驼路线:

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以及application.properteis来生成一个bean

https://camel.apache.org/components/latest/mongodb-component.html#_spring_boot_auto_configuration

4

1 回答 1

0

我找到了spring bean名称,但只是通过四处寻找示例......

spring.data.mongodb

于 2021-07-13T01:32:49.720 回答