MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да накарам вградения mongodb да пази данните при изключване на приложението?

Сега е възможно вижте това .

Следващият код просто показва моето решение за прилагането му.

public class MongoInMemory {
 private int port;
 private String host;
 private MongodProcess process = null;

 public MongoInMemory(int port, String host){
    this.port = port;
    this.host = host;
 }

 @PostConstruct
 public void init() throws IOException {
    Storage storage = new Storage(
            System.getProperty("user.home") + "/.ttraining-storage", null, 0);

    IRuntimeConfig runtimeConfig = new RuntimeConfigBuilder()
            .defaults(Command.MongoD)
            .artifactStore(new ExtractedArtifactStoreBuilder()
                    .defaults(Command.MongoD)
                    .download(new DownloadConfigBuilder()
                            .defaultsForCommand(Command.MongoD).build())
                    .executableNaming(new UserTempNaming()))
            .build();

    IMongodConfig mongodConfig = new MongodConfigBuilder()
            .version(Version.Main.PRODUCTION)
            .net(new Net(host, port, false))
            .replication(storage)
            .build();

    MongodStarter runtime = MongodStarter.getInstance(runtimeConfig);
    process = runtime.prepare(mongodConfig).start();
 }

 @PreDestroy
 public void stop(){
    process.stop();
 }
}

В конфигурационния клас дефинирайте това като bean

@Bean
public MongoInMemory mongoInMemory(
    @Value("${spring.data.mongodb.port}") int port,
    @Value("${spring.data.mongodb.host}")  String host) {
        return new MongoInMemory(port, host)
}

Най-накрая премахнете вградената автоконфигурация на mongodb във вашата входна точка

@SpringBootApplication(exclude = EmbeddedMongoAutoConfiguration.class)

PS :Премахване от зависимостите cz.jirutka.spring:embedmongo-spring

PSS :Тествано на Spring-boot 2.0.0.RELEASE

PSSS :Също така можете да дефинирате пътя като свойство в application.properties, а също и в конструктора



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Networkx никога не приключва с изчисляването на централната централна среда за 2 mil възли

  2. Как да конвертирате BigDecimal в Double в рамката spring-data-mongodb

  3. Публикувайте данни от формуляр в масив от съществуващ MongoDB документ с помощта на Express и Mongoose

  4. Какви са правилата за плурализиране на Mongoose (Nodejs)?

  5. Ограничаване на размера на съхранение в MongoDB?