Spring Cloud Connector和MongoDB副本集

时间:2018-07-10 15:02:27

标签: mongodb spring-cloud mongodb-replica-set

我在Spring Boot中开发了一个微服务,并将其部署在Cloud Foundry中。 MongoDB是在PCF中创建的服务,它是副本集类型服务。 mongodb服务绑定到PCF中的微服务。当使用以下代码在云中部署时,我正在使用Spring云连接器自动获取mongodb服务的连接字符串。

@Configuration
@Profile("cloud")
public  class CloudFoundryDatabaseConfig extends AbstractCloudConfig{

    @Bean
    public Cloud cloud() {
        return new CloudFactory().getCloud();
    }

    @Bean
    public MongoDbFactory mongoFactory() {
        return connectionFactory().mongoDbFactory();

    }
}

当mongoDB服务是独立类型时,此代码可以正常工作。但是,如果它是副本集,我会收到未知的主机异常。由于mongodb URI包含逗号分隔的主机名,因此似乎无法解析。

下面的MongoDB URI示例。 “ mongodb://用户名:密码@ 101.23.65.41:28000,101.23.65.43:28000,101.23.65.45:28000 / default?authSource = admin”

错误: com.mongodb.MongoSocketException:mongod-node-0-310d0fd1.mongodb.internal:名称或服务未知},由{java.net.UnknownHostException

引起

Pom.xml:

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-cloudfoundry-connector</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-spring-service-connector</artifactId>
        </dependency>

请帮助。

0 个答案:

没有答案