web-dev-qa-db-fra.com

expiré après 30000 ms en attendant un serveur qui correspond à WritableServerSelector

J'ai vu ce problème sur de nombreux forums mais aucun n'a résolu mon problème. J'essaie d'insérer un exemple de document dans MongoDB DB. Malheureusement, lors du processus d'insertion colReceived.insert(doc) j'ai eu l'erreur suivante:

GRAVE: Servlet.service () pour le ressort de servlet a levé l'exception com.mongodb.MongoTimeoutException: Délai expiré après 30000 ms en attendant un serveur qui correspond à WritableServerSelector. La vue client de l'état du cluster est {type = UNKNOWN, servers = [{address = localhost: 27017, type = UNKNOWN, state = CONNECTING, exception = {com.mongodb.MongoSocketOpenException: exception ouvrant le socket}, provoqué par {Java.net. ConnectException: connexion refusée: connect}}] sur com.mongodb.connection.BaseCluster.createTimeoutException (BaseCluster.Java:369)

Voici ma méthode connectToDb

   MongoClient mongoClient = new MongoClient();

    // Now connect to your database
    DB db = mongoClient.getDB("test");
    System.out.println("connect to database successfully");

    DBCollection coll = db.createCollection("mycol", null);
    System.out.println("Collection created successfully");

    DBCollection colReceived = db.getCollection("mycol");
    System.out.println("Collection mycol selected successfully");

    BasicDBObject doc = new BasicDBObject("title", "MongoDB").append("description", "database").append("likes", 100)
            .append("url", "http://www.tutorialspoint.com/mongodb/").append("by", "tutorials point");

    colReceived.insert(doc);
    System.out.println("Document inserted successfully");

Mon pom.xml:

  <project xmlns="http://maven.Apache.org/POM/4.0.0"      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0
http://maven.Apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>
<groupId>com.objectdb.tutorial.spring</groupId>
<artifactId>Guestbook</artifactId>
<packaging>war</packaging>
<version>1.0</version>
<name>Guestbook</name>
<url>http://maven.Apache.org</url>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<repositories>
    <repository>
        <id>objectdb</id>
        <name>ObjectDB Repository</name>
        <url>http://m2.objectdb.com</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.objectdb</groupId>
        <artifactId>objectdb</artifactId>
        <version>2.6.2</version>
    </dependency>
    <dependency>
        <groupId>org.Eclipse.persistence</groupId>
        <artifactId>javax.persistence</artifactId>
        <version>2.1.0</version>
    </dependency>
    <dependency>
        <groupId>javax.transaction</groupId>
        <artifactId>jta</artifactId>
        <version>1.1</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>3.0.5.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>3.0.5.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>3.0.5.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>aopalliance</groupId>
        <artifactId>aopalliance</artifactId>
        <version>1.0</version>
    </dependency>
    <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>2.2</version>
    </dependency>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>1.6.10</version>
    </dependency>

    <dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongo-Java-driver</artifactId>
    <version>3.2.2</version>
</dependency>


</dependencies>

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.2</version>
                <executions>
                    <execution>
                        <id>enhance</id>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>Java</goal>
                        </goals>
                        <configuration>
                            <mainClass>com.objectdb.Enhancer</mainClass>
                            <arguments>
                                <argument>guest.Guest</argument>
                            </arguments>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>maven-jetty-plugin</artifactId>
                <version>6.1.10</version>
                <configuration>
                    <scanIntervalSeconds>10</scanIntervalSeconds>
                    <stopKey>foo</stopKey>
                    <stopPort>9999</stopPort>
                </configuration>
                <executions>
                    <execution>
                        <id>start-jetty</id>
                        <phase>pre-integration-test</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <scanIntervalSeconds>0</scanIntervalSeconds>
                            <daemon>true</daemon>
                        </configuration>
                    </execution>
                    <execution>
                        <id>stop-jetty</id>
                        <phase>post-integration-test</phase>
                        <goals>
                            <goal>stop</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </pluginManagement>
    <finalName>Guestbook</finalName>
</build>
13
Tonyukuk

Si vous avez également l'erreur suivante dans vos journaux mongod ... (ou similaire)

ERREUR: Espace libre insuffisant pour les fichiers journaux Veuillez rendre au moins 3379 Mo disponibles dans/var/lib/mongodb/journal ou utiliser --smallfiles

Vous pouvez corriger cette erreur en exécutant mongo en tant que mongod --smallfiles

Sinon, essayez de mettre à jour votre version du pilote mongo pour qu'elle corresponde à celle du serveur que vous utilisez.

1
Tezra