Example usage for org.springframework.integration.mongodb.store MessageDocumentFields MESSAGE_ID

List of usage examples for org.springframework.integration.mongodb.store MessageDocumentFields MESSAGE_ID

Introduction

In this page you can find the example usage for org.springframework.integration.mongodb.store MessageDocumentFields MESSAGE_ID.

Prototype

String MESSAGE_ID

To view the source code for org.springframework.integration.mongodb.store MessageDocumentFields MESSAGE_ID.

Click 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();
        }/*ww  w. ja v a  2s  .  com*/
        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));
}

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

public Message<?> getMessage(UUID id) {
    Assert.notNull(id, "'id' must not be null");
    Query query = Query.query(Criteria.where(MessageDocumentFields.MESSAGE_ID).is(id));
    MessageDocument document = this.mongoTemplate.findOne(query, MessageDocument.class, this.collectionName);
    return document != null ? document.getMessage() : null;
}

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

public MessageMetadata getMessageMetadata(UUID id) {
    Assert.notNull(id, "'id' must not be null");
    Query query = Query.query(Criteria.where(MessageDocumentFields.MESSAGE_ID).is(id));
    MessageDocument document = this.mongoTemplate.findOne(query, MessageDocument.class, this.collectionName);
    if (document != null) {
        MessageMetadata messageMetadata = new MessageMetadata(id);
        messageMetadata.setTimestamp(document.getCreatedTime());
        return messageMetadata;
    } else {//w w  w .j ava 2  s . co  m
        return null;
    }
}