Example usage for org.springframework.data.mongodb.core.index MongoMappingEventPublisher MongoMappingEventPublisher

List of usage examples for org.springframework.data.mongodb.core.index MongoMappingEventPublisher MongoMappingEventPublisher

Introduction

In this page you can find the example usage for org.springframework.data.mongodb.core.index MongoMappingEventPublisher MongoMappingEventPublisher.

Prototype

public MongoMappingEventPublisher(MongoPersistentEntityIndexCreator indexCreator) 

Source Link

Document

Creates a new MongoMappingEventPublisher for the given MongoPersistentEntityIndexCreator .

Usage

From source file:org.springframework.data.mongodb.core.MongoTemplate.java

/**
 * Constructor used for a basic template configuration.
 * /*from w  w w  . jav a2s. c  om*/
 * @param mongoDbFactory
 * @param mongoConverter
 */
public MongoTemplate(MongoDbFactory mongoDbFactory, MongoConverter mongoConverter) {

    Assert.notNull(mongoDbFactory);

    this.mongoDbFactory = mongoDbFactory;
    this.mongoConverter = mongoConverter == null ? getDefaultMongoConverter(mongoDbFactory) : mongoConverter;
    this.mapper = new QueryMapper(this.mongoConverter);

    // We always have a mapping context in the converter, whether it's a simple one or not
    mappingContext = this.mongoConverter.getMappingContext();
    // We create indexes based on mapping events
    if (null != mappingContext && mappingContext instanceof MongoMappingContext) {
        indexCreator = new MongoPersistentEntityIndexCreator((MongoMappingContext) mappingContext,
                mongoDbFactory);
        eventPublisher = new MongoMappingEventPublisher(indexCreator);
        if (mappingContext instanceof ApplicationEventPublisherAware) {
            ((ApplicationEventPublisherAware) mappingContext).setApplicationEventPublisher(eventPublisher);
        }
    }

}