MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm thế nào để làm cho mongodb nhúng giữ dữ liệu khi ứng dụng tắt?

Giờ thì có thể xem it .

Đoạn mã tiếp theo chỉ hiển thị giải pháp của tôi để triển khai nó.

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();
 }
}

Trong lớp cấu hình, xác định đó là bean

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

Cuối cùng, hãy xóa tự động định cấu hình mongodb được nhúng trong điểm nhập của bạn

@SpringBootApplication(exclude = EmbeddedMongoAutoConfiguration.class)

Tái bút :Xóa khỏi các tệp phụ thuộc cz.jirutka.spring:nhúngmongo-spring

PSS :Đã thử nghiệm trên Spring-boot 2.0.0.RELEASE

PSSS :Ngoài ra, bạn có thể xác định đường dẫn như một thuộc tính trong application.properties và cả nó trong constructor



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:không thể sử dụng con trỏ để lặp qua tất cả dữ liệu

  2. Làm cách nào để sử dụng pymongo để kết nối với bộ sưu tập tài liệu hiện có / db?

  3. Làm cách nào để xóa các tweet trống bằng filter () trong pyspark?

  4. MongoDB sắp xếp tài liệu theo dữ liệu lồng nhau

  5. Truy vấn MongoDB trên các trường được điền