使用 Spring MongoDB 的引导自动配置与 Camel,如何知道 application.properties
Using Spring Boot auto configuration of MongoDB with Camel, how to know what application.properties
我正在尝试将 Camel rout 添加到使用 Spring Boot 的工作项目中以使用 MongoDB。我将 Mongo 与 Spring 引导自动配置一起使用,它工作起来非常容易。
我对如何指定 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
我找到了 spring bean 名称,但只是通过查找示例...
spring.data.mongodb
我正在尝试将 Camel rout 添加到使用 Spring Boot 的工作项目中以使用 MongoDB。我将 Mongo 与 Spring 引导自动配置一起使用,它工作起来非常容易。
我对如何指定 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
来生成一个 beanhttps://camel.apache.org/components/latest/mongodb-component.html#_spring_boot_auto_configuration
我找到了 spring bean 名称,但只是通过查找示例...
spring.data.mongodb