بدء سريع

تربط مصدر الخلفية مع الكيان، المعالج ومراقب Swagger وتتحقق من نتائج الإنشاء الأولية.


الإعدادات المحلية الكاملة

WatchForMainRunSpring.java
java
@Configuration
@Profile("local")
public class WatchForMainRunSpring {

  private WatchForMainRun runner;

  @PostConstruct
  public void start() {
    var entityConfig = EntityFileWatcher.Config.builder()
        .rootPath("src.main.java")
        .entityPackage("com.example.entity")
        .fieldPackage("com.example.util.fields")
        .collectionNamePackage("com.example.util")
        .build();

    var handlerConfig = HandlerGenerator.Config.builder()
        .rootPath("src.main.java")
        .routerPackage("com.example.web.router")
        .handlerOutputDir("src.main.java.com.example.web.handler")
        .addAutoImport(ReactiveMongoDsl.class)
        .addAutoImport(ResponseWrapper.class)
        .addStaticAutoImport(
            HandlerGenerator.StaticImportSpec.of(ResponseWrapper.class, "response")
        )
        .addStaticAutoImport(
            HandlerGenerator.StaticImportSpec.of(FieldsPair.class, "pair")
        )
        .build();

    var swaggerConfig = SwaggerJsonFileWatcher.Config.builder()
        .watchDirectory("src/main/java")
        .swaggerOutputFile("src/main/resources/static/swagger.json")
        .build();

    runner = new WatchForMainRun(
        WatchForMainRun.Config.builder()
            .debounceMillis(400)
            .entityConfig(entityConfig)
            .handlerConfig(handlerConfig)
            .swaggerConfig(swaggerConfig)
            .build()
    );

    try {
      runner.start();
    } catch (Exception e) {
      throw new IllegalStateException("Failed to start development watchers", e);
    }
  }

  @PreDestroy
  public void stop() {
    if (runner != null) runner.stop();
  }
}

الكشف عن التغييرات عند التشغيل الأول

start() ينشئ مثيل المراقب وينفذ تمريرة التوليد الأولى ثم يشترك في حدث تغيير المصدر. يتم تجميع أحداث الملفات المتعددة معًا وإعادة إنشائها بناءً على debounceMillis.

المستند التالي

© 2026 بيولناريم. جميع الحقوق محفوظة.مقدمةسياسة معالجة المعلومات الشخصية