Files
Java-Spring-CRQS-Eventsourc…/src/main/java/com/eventsourcing/configuration/MongoConfiguration.java
2022-04-14 14:43:42 +03:00

28 lines
1.0 KiB
Java

package com.eventsourcing.configuration;
import com.eventsourcing.bankAccount.domain.BankAccountDocument;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.index.Index;
import javax.annotation.PostConstruct;
@Configuration
@Slf4j
@RequiredArgsConstructor
public class MongoConfiguration {
private final MongoTemplate mongoTemplate;
@PostConstruct
public void mongoInit() {
final var bankAccounts = mongoTemplate.getCollection("bankAccounts");
final var aggregateIdIndex = mongoTemplate.indexOps(BankAccountDocument.class).ensureIndex(new Index("aggregateId", Sort.Direction.ASC).unique());
final var indexInfo = mongoTemplate.indexOps(BankAccountDocument.class).getIndexInfo();
log.info("MongoDB connected, bankAccounts aggregateId index created: {}", indexInfo);
}
}