Example usage for org.springframework.integration.mongodb.support MessageToBinaryConverter MessageToBinaryConverter

List of usage examples for org.springframework.integration.mongodb.support MessageToBinaryConverter MessageToBinaryConverter

Introduction

In this page you can find the example usage for org.springframework.integration.mongodb.support MessageToBinaryConverter MessageToBinaryConverter.

Prototype

MessageToBinaryConverter

Source Link

Usage

From source file:org.springframework.integration.mongodb.store.AbstractConfigurableMongoDbMessageStore.java

@Override
public void afterPropertiesSet() throws Exception {
    if (this.mongoTemplate == null) {
        if (this.mappingMongoConverter == null) {
            this.mappingMongoConverter = new MappingMongoConverter(
                    new DefaultDbRefResolver(this.mongoDbFactory), new MongoMappingContext());
            this.mappingMongoConverter.setApplicationContext(this.applicationContext);
            List<Object> customConverters = new ArrayList<Object>();
            customConverters.add(new MessageToBinaryConverter());
            customConverters.add(new BinaryToMessageConverter());
            this.mappingMongoConverter.setCustomConversions(new CustomConversions(customConverters));
            this.mappingMongoConverter.afterPropertiesSet();
        }//from  ww  w .  ja  v  a 2 s  . co  m
        this.mongoTemplate = new MongoTemplate(this.mongoDbFactory, this.mappingMongoConverter);
    }

    this.messageBuilderFactory = IntegrationUtils.getMessageBuilderFactory(this.applicationContext);

    IndexOperations indexOperations = this.mongoTemplate.indexOps(this.collectionName);

    indexOperations.ensureIndex(new Index(MessageDocumentFields.MESSAGE_ID, Sort.Direction.ASC));

    indexOperations.ensureIndex(new Index(MessageDocumentFields.GROUP_ID, Sort.Direction.ASC)
            .on(MessageDocumentFields.MESSAGE_ID, Sort.Direction.ASC).unique());

    indexOperations.ensureIndex(new Index(MessageDocumentFields.GROUP_ID, Sort.Direction.ASC)
            .on(MessageDocumentFields.LAST_MODIFIED_TIME, Sort.Direction.DESC)
            .on(MessageDocumentFields.SEQUENCE, Sort.Direction.DESC));
}