2016-11-12 1 views
-1

Gibt es mongodb Mapping-Konverter für generische Nachricht. Kein Argumentkonstruktor für allgemeine Nachricht verfügbar.Gibt es mongodb Mapping-Konverter für generische Nachricht

.11:47:30.937 [http-nio-9080-exec-1] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.messaging.MessageHandlingException: error occurred in message handler [messageHandler]; nested exception is org.springframework.data.mapping.model.MappingInstantiationException: Failed to instantiate org.springframework.messaging.support.GenericMessage using constructor NO_CONSTRUCTOR with arguments ] with root cause 
java.lang.NoSuchMethodException: org.springframework.messaging.support.GenericMessage.<init>() 
    at java.lang.Class.getConstructor0(Class.java:3082) 
    at java.lang.Class.getDeclaredConstructor(Class.java:2178) 
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:104) 
    at org.springframework.data.convert.ReflectionEntityInstantiator.createInstance(ReflectionEntityInstantiator.java:61) 
    at org.springframework.data.convert.ClassGeneratingEntityInstantiator.createInstance(ClassGeneratingEntityInstantiator.java:83) 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:251) 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:231) 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readValue(MappingMongoConverter.java:1186) 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.access$200(MappingMongoConverter.java:78) 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter$MongoDbPropertyValueProvider.getPropertyValue(MappingMongoConverter.java:1134) 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter$MongoDbPropertyValueProvider.getPropertyValue(MappingMongoConverter.java:1097) 

Auch versuche ich folgende Konfiguration von mongotemplate Bitte informieren Sie, wenn richtig

public MongoTemplate messagingMongoTemplate() throws Exception { 
    MongoTemplate mongoTemplate=null; 
    try { 
     DbRefResolver dbRefResolver = new DefaultDbRefResolver(mongoDbFactory); 
     MappingContext mappingContext = new MongoMappingContext(); 

     MappingMongoConverter mappingMongoConverter = new MappingMongoConverter(dbRefResolver,mappingContext); 

     CustomConversions customConversions = new CustomConversions(Arrays.asList(new MongoDbMessageBytesConverter())); 
     mappingMongoConverter.setCustomConversions(customConversions); 
     mongoTemplate=new MongoTemplate(mongoDbFactory,mappingMongoConverter); 

Antwort

1

Ab Version 3.0 empfiehlt es sich ConfigurableMongoDbMessageStore zu verwenden, wie, dass mehr Möglichkeiten zur Individualisierung, einschließlich einer Converter für Message .

Out-of-the-Box-Spring-Integration bietet MongoDbMessageBytesConverter, die public seit 4.2.10 worden ist und standardmäßig verwendet wird, wenn es für die ConfigurableMongoDbMessageStore keine jede externe Anpassung ist.

+0

danke für die Antwort aber MongoDbMessageBytesConverter ist kein MappingMongoConverter. – Adilmo

+0

hinzugefügt StackTrace in der Frage – Adilmo

+0

Muss dieser MongoDbMessageBytesConverter als Transformator verwendet werden ODER kann dies an mongodbfactory als Mappingmongconverter gebunden werden – Adilmo

Verwandte Themen