All Products
Search
Document Center

Microservices Engine:FAQ tentang Pekerjaan Spring

Last Updated:Jan 25, 2026

Topik ini menjawab beberapa pertanyaan umum terkait pengelolaan pekerjaan Spring di SchedulerX.

Mengapa timer Spring asli masih berjalan setelah SchedulerX mengambil alih pekerjaan Spring yang dijadwalkan?

Jika penjadwal kustom ditentukan dalam aplikasi Anda, SchedulerX akan menimpanya. Periksa apakah ada kelas yang mengimplementasikan antarmuka org.springframework.scheduling.annotation.SchedulingConfigurer di proyek aplikasi Anda, serta apakah metode setScheduler dari ScheduledTaskRegistrar dipanggil untuk menimpa penjadwal default. Jika kelas tersebut ada atau penjadwal default telah ditimpa, komentari kode terkait.

Bagaimana cara mendapatkan konteks untuk pekerjaan Spring?

Tambahkan kode berikut ke proyek aplikasi Anda untuk mendapatkan konteks:

JobContext jobContext = ContainerFactory.getContainerPool().getContext();

Apakah pekerjaan Spring mengembalikan hasil pemrosesan?

Jika versi agen lebih baru dari 1.10.11, pekerjaan Spring dapat mengembalikan hasil pemrosesan. Hasil pemrosesan dikembalikan sesuai dengan metode penjadwalan yang ditentukan.

@Scheduled(cron = "0/5 * * * * ?")
public ProcessResult helloStandalone1() {
    try {
        logger.info(DateUtil.now() + " " + Thread.currentThread().getName() + " hello world. start");
        TimeUnit.SECONDS.sleep(2L);
        logger.info(DateUtil.now() + " " + Thread.currentThread().getName() + " hello world. end");
    } catch (Exception e) {
        e.printStackTrace();
        logger.info(DateUtil.now() + " " + Thread.currentThread().getName() + " hello world. exception end..");
    }
    return new ProcessResult(true, "Hasil pemrosesan");
}

@Scheduled(cron = "0/5 * * * * ?")
public String helloStandalone2() {
    try {
        logger.info(DateUtil.now() + " " + Thread.currentThread().getName() + " hello world. start");
        TimeUnit.SECONDS.sleep(2L);
        logger.info(DateUtil.now() + " " + Thread.currentThread().getName() + " hello world. end");
    } catch (Exception e) {
        e.printStackTrace();
        logger.info(DateUtil.now() + " " + Thread.currentThread().getName() + " hello world. exception end..");
    }
    return "Hasil pemrosesan";
}