Todos os produtos
Search
Central de documentação

Microservices Engine:Perguntas frequentes sobre jobs do Spring

Última atualização: Aug 20, 2026

Este tópico responde a perguntas frequentes sobre o gerenciamento de jobs do Spring no SchedulerX.

Por que o timer original do Spring continua em execução após o SchedulerX assumir os jobs agendados do Spring?

Se sua aplicação especificar um agendador personalizado, o SchedulerX o substituirá. Verifique se o projeto da aplicação contém uma classe que implemente a interface org.springframework.scheduling.annotation.SchedulingConfigurer e se o método setScheduler de ScheduledTaskRegistrar sobrescreve o agendador padrão. Caso essa classe exista ou o agendador padrão seja substituído, comente o código relacionado.

Como obtenho o contexto de um job do Spring?

Adicione o seguinte código ao projeto da aplicação para obter o contexto:

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

Um job do Spring retorna resultado de processamento?

Jobs do Spring retornam resultados de processamento se a versão do agente for superior a 1.10.11. O retorno ocorre conforme os métodos de agendamento especificados.

@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, "Processing result");
}

@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 "Processing result";
}