0

I'm trying to add a Camel rout to a working project with Spring Boot for using MongoDB. I've using Mongo with Spring Boot autoconfigure, and it worked pretty easily.

I was confused about how to specify the bean that Spring Boot generates, but I finally found an answer to a related question on SO that said the name of the bean is "mongo". So I changed my rout to .to("mongodb:mongo?....

No Spring is trying to connect to default parameters, localhost and 72017, etc. So how do I figure out what properties to specify in application.properties to set the connection parameters? The documentation isn't being helpful here.

{Edit: I managed to figure this out. The below works now}

Here are the Maven dependencies I added:

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

And here are the additions to my application.properties file

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

And the Camel route:

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");
                
    }

}

Does this mean I need to define a bean when connecting with Camel? Looking at the documentation it seems that it should generate a bean by adding camel-mongodb-starter along with the application.properteis

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

BenW
  • 737
  • 10
  • 41

1 Answers1

0

I found the spring bean name, but only by looking around for examples...

spring.data.mongodb

BenW
  • 737
  • 10
  • 41