Spring Data Mongo scheint zu ignorieren, die Gastgeber in XML-Konfiguration

Ich versuche, ein einfaches "Hello World" - Programm mit Spring-Data und MongoDB läuft. Der Frühling scheint zu ignorieren die MongoDB-host-IP-Adresse konfiguriert, die in der <mongo:mongo/> element und versucht, eine Verbindung zu 127.0.0.1 statt.

Nach diversen tutorials, hier ist meine Feder Konfigurations-XML:

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mongo="http://www.springframework.org/schema/data/mongo"
    xsi:schemaLocation="http://www.springframework.org/schema/context
          http://www.springframework.org/schema/context/spring-context-3.0.xsd
          http://www.springframework.org/schema/data/mongo
          http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd
          http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <mongo:mongo host="10.125.0.68" port="27017" />
    <mongo:db-factory dbname="test" />

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

</beans>

Programm:

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;
import org.springframework.data.mongodb.core.MongoOperations;

public class Test1
{

    public static void main(String[] args) 
    {
        ApplicationContext ctx = new GenericXmlApplicationContext("SpringConfig.xml");
        MongoOperations mo = (MongoOperations)ctx.getBean("mongoTemplate");
        DbDocument a = new DbDocument("John Smith", "[email protected]");
        if (!mo.collectionExists(DbDocument.class))  //<<<----- Exception here
            mo.createCollection(DbDocument.class);
        mo.save(a);
    }
}

Ausnahme geworfen:

WARNING: Exception executing isMaster command on /127.0.0.1:27017
java.io.IOException: couldn't connect to [/127.0.0.1:27017] bc:java.net.ConnectException: Connection refused: connect
    at com.mongodb.DBPort._open(DBPort.java:214)
    at com.mongodb.DBPort.go(DBPort.java:107)
    at com.mongodb.DBPort.go(DBPort.java:88)
    at com.mongodb.DBPort.findOne(DBPort.java:143)
    at com.mongodb.DBPort.runCommand(DBPort.java:148)
    at com.mongodb.DBTCPConnector.initDirectConnection(DBTCPConnector.java:548)
    at com.mongodb.DBTCPConnector.checkMaster(DBTCPConnector.java:527)
    at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:277)
    at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:257)
    at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:310)
    at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:295)
    at com.mongodb.DB.getCollectionNames(DB.java:412)
    at com.mongodb.DB.collectionExists(DB.java:454)
    at org.springframework.data.mongodb.core.MongoTemplate$5.doInDB(MongoTemplate.java:438)
    at org.springframework.data.mongodb.core.MongoTemplate$5.doInDB(MongoTemplate.java:436)
    at org.springframework.data.mongodb.core.MongoTemplate.execute(MongoTemplate.java:372)
    at org.springframework.data.mongodb.core.MongoTemplate.collectionExists(MongoTemplate.java:436)
    at org.springframework.data.mongodb.core.MongoTemplate.collectionExists(MongoTemplate.java:432)
    at org.nwea.jhg.mongo.Test1.main(Test1.java:18)

Ich bin in der Lage, eine Verbindung zu den Mongo-Instanz an der angegebenen Adresse 10.125.0.68 mit einem GUI-tool, und bestätigen, dass es eine Datenbank namens test.

Fand ich ein paar trifft in StackOverflow, aber weder ist hinreichend ähnlich zu meinem Fall zu sein, das problem zu lösen.

InformationsquelleAutor Jim Garrison | 2013-05-24
Schreibe einen Kommentar