2017-11-29 11 views
1

AMQPメッセージの受信にはMongoDbMessageStoreを使用しています。メッセージには、キーにドットが含まれているヘッダーがあります。メッセージはMongoDBのに永続化されようとしている場合は、例外がスローされます。MongoDbMessageStore.MessageReadingMongoConverterのmapKeyDotReplacementを設定する方法

org.springframework.data.mapping.model.MappingException: Map key lnu_ocr_core.ocr.rabbitmq_ver contains dots but no replacement was configured! Make sure map keys don't contain dots in the first place or configure an appropriate replacement! 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.potentiallyEscapeMapKey(MappingMongoConverter.java:714) 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.prepareMapKey(MappingMongoConverter.java:696) 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.writeMapInternal(MappingMongoConverter.java:663) 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.createMap(MappingMongoConverter.java:593) 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.writePropertyInternal(MappingMongoConverter.java:478) 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter$3.doWithPersistentProperty(MappingMongoConverter.java:437) 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter$3.doWithPersistentProperty(MappingMongoConverter.java:425) 
    at org.springframework.data.mapping.model.BasicPersistentEntity.doWithProperties(BasicPersistentEntity.java:330) 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.writeInternal(MappingMongoConverter.java:425) 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.writeInternal(MappingMongoConverter.java:399) 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.write(MappingMongoConverter.java:363) 
    at org.springframework.integration.mongodb.store.MongoDbMessageStore$MessageReadingMongoConverter.write(MongoDbMessageStore.java:530) 
    at org.springframework.integration.mongodb.store.MongoDbMessageStore$MessageReadingMongoConverter.write(MongoDbMessageStore.java:497) 
    at org.springframework.data.mongodb.core.MongoTemplate.toDbObject(MongoTemplate.java:873) 
    at org.springframework.data.mongodb.core.MongoTemplate.doInsert(MongoTemplate.java:855) 
    at org.springframework.data.mongodb.core.MongoTemplate.insert(MongoTemplate.java:799) 
    at org.springframework.integration.mongodb.store.MongoDbMessageStore.addMessageDocument(MongoDbMessageStore.java:228) 
    at org.springframework.integration.mongodb.store.MongoDbMessageStore.addMessagesToGroup(MongoDbMessageStore.java:303) 
    at org.springframework.integration.store.AbstractMessageGroupStore.addMessageToGroup(AbstractMessageGroupStore.java:209) 
    at org.springframework.integration.aggregator.AbstractCorrelatingMessageHandler.store(AbstractCorrelatingMessageHandler.java:621) 
    at org.springframework.integration.aggregator.AbstractCorrelatingMessageHandler.handleMessageInternal(AbstractCorrelatingMessageHandler.java:413) 
    at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:127) 
    ... 

私はそれに取り組むために、私はMappingMongoConvertermapKeyDotReplacementを設定しなければならないことを知っています。ただし、MongoDbMessageStoreは、内部で作成され、プライベートな設定されたMongoDbMessageStore.MessageReadingMongoConverterのインスタンスを使用します。そこにmapKeyDotReplacementを設定する方法はありますか?

答えて

関連する問題