Fehler beim konvertieren von Eigenschaft-Wert vom Typ java.lang.String' für erforderlich Art 'com.mongodb.ServerAddress[]' für die Eigenschaft 'replicaSetSeeds'
Ist dieser bug in der Mongo-Treiber oder mache ich etwas falsch?
Immer unten Ausnahme:
Caused by: org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'java.lang.String' to required type 'com.mongodb.ServerAddress[]' for property 'replicaSetSeeds'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [com.mongodb.ServerAddress] for property 'replicaSetSeeds[0]': no matching editors or conversion strategy found
at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:465)
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:496)
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:490)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1437)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1396)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1132)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522)
... 14 more
Caused by: java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [com.mongodb.ServerAddress] for property 'replicaSetSeeds[0]': no matching editors or conversion strategy found
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:264)
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:128)
at org.springframework.beans.TypeConverterDelegate.convertToTypedArray(TypeConverterDelegate.java:487)
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:195)
at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:450)
... 20 more
Unten ist mein spring-Konfiguration
<bean id="defaultMongoTypeMapper" class="org.springframework.data.mongodb.core.convert.DefaultMongoTypeMapper">
<constructor-arg name="typeKey"><null/></constructor-arg>
</bean>
<bean id="mappingMongoConverter" class="org.springframework.data.mongodb.core.convert.MappingMongoConverter">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
<constructor-arg name="mappingContext" ref="mappingContext" />
<property name="typeMapper" ref="defaultMongoTypeMapper" />
</bean>
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
<constructor-arg name="mongoConverter" ref="mappingMongoConverter" />
<property name="writeConcern">
<util:constant static-field="com.mongodb.WriteConcern.SAFE" ></util:constant>
</property>
</bean>
Gläser/Treiber verwendet:
spring-beans-3.2.0.RELEASE.jar
mongo-java-driver-2.11.3.jar
Fixiert es mit folgenden code:
<bean id="mongoClient" class="com.mongodb.MongoClient">
<constructor-arg>
<list>
<value>161.141.16.100:27017</value>
<value>161.141.16.101:27017</value>
</list>
</constructor-arg>
</bean>
<mongo:db-factory id="mongoDbFactory" dbname="test" mongo-ref="mongoClient"/>
- Wahrscheinlich. Bitte zeigen Sie bean-definition für
mongoDbFactory
- <mongo:db-Fabrik-id="mongoDbFactory" dbname="test"/>
- Wo sehen Sie konfigurieren repl im Frühjahr? Bitte zeigen Sie es. Wenn Sie mongo namespace es ist so etwas wie
mongo replica-set=...
oder bean vom TypMongo
oderMongoClient
- <mongo:mongo id="replicaSetMongo" replica set="161.141.16.100:27017,161.141.16.101:27017"/>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wahrscheinlich verwenden Sie
statt
ref verweist auf eine spring bean, Wert und bedeutet übersetzt Schnur.
durch Wert,meinen wir, dass das, was wir wollen, injizieren ist primitive oder String,während mit dem ref,was wir wollen, um zu injizieren, ist selbst definierte Objekte.
wenn Ihr mit primitive oder String es ist besser,
anderen Fall verwenden