package com.yihu.hos.broker.configurations; import com.mongodb.Mongo; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; import com.mongodb.ServerAddress; import org.springframework.beans.factory.annotation.Value; import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.mongodb.config.AbstractMongoConfiguration; import static java.util.Collections.singletonList; /** * @created Airhead 2016/7/27. */ @RefreshScope @Configuration public class MongoConfiguration extends AbstractMongoConfiguration { // @Value("${spring.data.mongodb.uri}") // private String uri; @Value("${spring.data.mongodb.host}") private String host; @Value("${spring.data.mongodb.port}") private int port; @Value("${spring.data.mongodb.username}") private String username; @Value("${spring.data.mongodb.password}") private String password; @Value("${spring.data.mongodb.authenticationDatabase}") private String authenticationDatabase; @Value("${spring.data.mongodb.database}") private String database; @Override public String getDatabaseName() { return database; } @Bean public Mongo mongo() throws Exception { return new MongoClient(singletonList(new ServerAddress(host, port)), singletonList(MongoCredential.createCredential(username, authenticationDatabase, password.toCharArray()))); } @Bean public MongoClient mongoClient() throws Exception { return new MongoClient(singletonList(new ServerAddress(host, port)), singletonList(MongoCredential.createCredential(username, authenticationDatabase, password.toCharArray()))); } }