2017-02-13 8 views
0

Ich versuche, MongoClient mit XML-Konfiguration in einer Spring-Boot-Anwendung zu konfigurieren.Spring Boot Mongodb Xml Konfiguration

Caused by: java.lang.IllegalStateException: Cannot convert value of type 'java.lang.String' to required type 'com.mongodb.MongoCredential' for property 'credentials[0]': no matching editors or conversion strategy found 
    at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:306) 
    at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:143) 
    at org.springframework.beans.TypeConverterDelegate.convertToTypedArray(TypeConverterDelegate.java:503) 
    at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:216) 
    at org.springframework.beans.AbstractNestablePropertyAccessor.convertIfNecessary(AbstractNestablePropertyAccessor.java:590) 
    ... 26 common frames omitted 

Frühling Konfigurationsdatei:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:mongo="http://www.springframework.org/schema/data/mongo" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo.xsd"> 

<mongo:mongo-client id="mongoClient" credentials="user:[email protected]"></mongo:mongo-client> 

</beans> 

Die Feder-data-mongodb documentation erwähnt auch über das Feld Anmeldeinformationen im XML-Konfiguration. Ich bin mir nicht sicher, ob mir irgendwelche Abhängigkeiten fehlen oder ob ich einige benutzerdefinierte Mapping-Konverter hinzufügen muss.

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/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>io.vjso</groupId> 
    <artifactId>Gyaan</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 

    <properties> 
     <maven.compiler.plugin.version>3.5.1</maven.compiler.plugin.version> 
     <lombok.version>1.16.12</lombok.version> 
     <slf4j.version>1.7.22</slf4j.version> 
     <logback.version>1.1.8</logback.version> 
     <hibernate.version>5.2.6.Final</hibernate.version> 
     <spring.boot.version>1.5.1.RELEASE</spring.boot.version> 
    </properties> 

    <build> 
     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.8</source> 
        <target>1.8</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

    <dependencyManagement> 
     <dependencies> 
      <dependency> 
       <groupId>org.springframework.data</groupId> 
       <artifactId>spring-data-releasetrain</artifactId> 
       <version>Hopper-SR7</version> 
       <type>pom</type> 
       <scope>import</scope> 
      </dependency> 
     </dependencies> 
    </dependencyManagement> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.5.1.RELEASE</version> 
    </parent> 

    <dependencies> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-actuator</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-devtools</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.projectlombok</groupId> 
      <artifactId>lombok</artifactId> 
      </dependency> 

     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-api</artifactId> 
      </dependency> 
     <dependency> 
      <groupId>ch.qos.logback</groupId> 
      <artifactId>logback-classic</artifactId> 
      </dependency> 

     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      </dependency> 

     <dependency> 
      <groupId>org.springframework.data</groupId> 
      <artifactId>spring-data-mongodb</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
     </dependency> 

    </dependencies> 


</project> 

Antwort

0

die Datei erstellen: src \ main \ resources \ application.properties

MongoDB (MongoProperties)

spring.data.mongodb.host= # the db host 
spring.data.mongodb.port=27017 # the connection port (defaults to 27107) 
spring.data.mongodb.uri=mongodb://localhost/test # connection URL 
spring.data.mongodb.database= 
spring.data.mongodb.authentication-database= 
spring.data.mongodb.grid-fs-database= 
spring.data.mongodb.username= 
spring.data.mongodb.password= 
spring.data.mongodb.repositories.enabled=true # if spring data repository support is enabled 

Von Source Cited

Wird Post bearbeiten

Wenn Sie wirklich die XML-Konfiguration möchten. Ich werde veröffentlichen, sobald ich eine Lösung finde

+0

Ja, ich bin in der Lage, diesen Fehler mit MongoClient zu vermeiden, indem Sie die spring-boot-starter-data-mongodb Abhängigkeit hinzufügen und entfernen Sie die XML-Konfiguration, Auf diese Weise können wir MongoRepository verwenden und können vermeiden Sie den MongoClient. Ich habe jedoch darüber nachgedacht, ob wir wirklich einen MongoClient nutzen wollen, wie kann das gemacht werden? Möglicherweise kann eine Bean-Definition in Java-Konfiguration dies lösen. Müssen das überprüfen. – vijayanand

Verwandte Themen