2016-10-01 2 views
1

У меня есть следующий пользователя структуры:Невозможно установить MongoDB хост MongoRepository

@Document 
public class User { 
    @Id 
    private String _id; 
    private String role; 
    private String username; 
} 

И в Монго хранилища интерфейса:

public interface UserRepository extends MongoRepository<User, String>{ 
} 

я поставил следующий конфиг в XML файла :

<mongo:mongo host="www.example.com" port="12345"/> 

<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> 
    <constructor-arg ref="mongo"/> 
    <constructor-arg name="databaseName" value="geospatial"/> 
</bean> 

Теперь я пытаюсь сохранить пользователь:

@Autowired 
private UserRepository userRepository; 

public void foo() { 
    User newUser = new User(); 
    newUser.setUsername("Humberd"); 
    newUser.setRole("USER"); 
    userRepository.insert(newUser); 
} 

Несмотря на настройки хоста в "www.example.com" весны еще подключается к моему локальному хосту:

org.mongodb.driver.connection   : Opened connection [connectionId{localValue:2, serverValue:42}] to localhost:27017 

Что я делаю неправильно? Как настроить хост на пользовательский?

+1

ты найти решение этой проблемы. Я столкнулся с подобной проблемой. – PKR

ответ

0

Вот что я, наконец, сделал:

@Configuration 
@EnableMongoRepositories(basePackages = {"com.tryton.repositories"}) 
public class MongoConfig extends AbstractMongoConfiguration { 

    private String host = "myhost"; 
    private int port = 12345; 
    private String databaseName = "fooDB"; 

    @Override 
    protected String getDatabaseName() { 
     return databaseName; 
    } 

    @Override 
    public Mongo mongo() throws Exception { 
     return new Mongo(host, port); 
    } 

} 
Смежные вопросы