All Downloads are FREE. Search and download functionalities are using the official Maven repository.

driven-adapter.mongo-reactive.config.mongo-config.mustache Maven / Gradle / Ivy

Go to download

Gradle plugin to create a clean application in Java that already works, It follows our best practices!

There is a newer version: 3.20.10
Show newest version
package {{package}}.mongo.config;

{{#include-secret}}
import co.com.bancolombia.secretsmanager.api.exceptions.SecretException;
import co.com.bancolombia.secretsmanager.api.GenericManagerAsync;
{{/include-secret}}
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.mongo.MongoConnectionDetails;
import org.springframework.boot.autoconfigure.mongo.MongoProperties;
import org.springframework.boot.autoconfigure.mongo.PropertiesMongoConnectionDetails;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.ArrayList;
import java.util.List;

@Configuration
public class MongoConfig {

    {{#include-secret}}
    @Bean
    public MongoDBSecret dbSecret(@Value("${aws.secretName}") String secret, GenericManagerAsync manager)
            throws SecretException {
        return manager.getSecret(secret, MongoDBSecret.class).block();
    }
    {{/include-secret}}
    {{^include-secret}}
    @Bean
    public MongoDBSecret dbSecret(@Value("${spring.data.mongodb.uri}") String uri) {
        return MongoDBSecret.builder()
                .uri(uri)
                .build();
    }
    {{/include-secret}}

    @Bean
    public MongoConnectionDetails mongoProperties(MongoDBSecret secret) {
        MongoProperties properties = new MongoProperties();
        properties.setUri(secret.getUri());
        return new PropertiesMongoConnectionDetails(properties);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy