WatchForMainRun

เริ่มต้น watcher หลายตัวและดีบาวน์เหตุการณ์การเปลี่ยนแปลงเพื่อเรียกใช้ pipeline การสร้างใหม่อีกครั้ง


watcher ที่จำเป็นและเลือกได้

entityConfig / entityFactory

จำเป็น

handlerConfig / handlerFactory

จำเป็น

swaggerConfig / swaggerFactory

จำเป็น

asyncApiFactory

เลือก. เพิ่มในโครงการที่ต้องการ RSocket AsyncAPI.

ตัวเลือกการกำหนดค่า

debounceMillis(long)

ค่าเริ่มต้น 400ms

trigger(Path)

โหลดไฟล์ trigger ใหม่ หากไม่ระบุจะใช้ .reloadtrigger ที่ root ของ classpath.

classpathWatchPaths(String)

เพิ่ม root ของ classpath ด้วย CSV หรือ OS path separator.

...Config

สร้าง factory ตัวตรวจสอบเริ่มต้นด้วยวัตถุ config.

...Factory

การฉีดล่าช้าโดยตรงสำหรับวิธีการสร้างตัวตรวจสอบ.

เพิ่ม AsyncAPI

java
var asyncConfig = RsoketAsyncApiJsonFileWatcher.Config.builder().build();

var mainConfig = WatchForMainRun.Config.builder()
    .entityConfig(entityConfig)
    .handlerConfig(handlerConfig)
    .swaggerConfig(swaggerConfig)
    .asyncApiFactory(() -> new RsoketAsyncApiJsonFileWatcher(asyncConfig))
    .build();

วงจรชีวิต

เมื่อใช้เป็น Spring Bean ให้เรียก runner.start() ใน @PostConstruct และ runner.stop() ใน @PreDestroy อย่าปิดบังความล้มเหลวในการเริ่มต้นและตรวจสอบ stack trace ในคอนโซลท้องถิ่นเพื่อให้สามารถตรวจพบการสร้างที่ขาดหายไปได้ทันที.