Há algum tempo, meu chefe me pediu para usar o springboot para integrar o xxl-job. Aqui estão algumas das minhas etapas de integração, digitadas palavra por palavra. Espero que seja útil para você. Obrigado pela leitura.
Este exemplo é baseado na estrutura Ruoyi (Ruoyi tem suas próprias tarefas agendadas).Este exemplo é apenas para aprendizado.
Ruo Yi:
https://gitee.com/y_project/RuoYi-fast
XXL-JOB:https://www.xuxueli.com/xxl-job/
Primeiro, inicie o projeto Ruoyi:
Etapa 2: Obtenha o código-fonte xxl:
https://gitee.com/xuxueli0323/xxl-job
Em seguida, use a ideia para abrir xxl-job-admin e configurar o banco de dados
Em seguida, inicie o acesso:
http://127.0.0.1:8080/xxl-job-admin/toLogin
Conta padrão: admin Senha padrão: 123456
Interface após login bem-sucedido:
Etapa 3: Adicione ao pom.xml do projeto Ruoyi
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.3.0</version>
</dependency>
Etapa 4: adicionar ao application.yml do projeto Ruoyi
xxl:
job:
admin:
addresses: http://127.0.0.1:8080/xxl-job-admin
executor:
appname: xxl-job-executor-sample # 执行器AppName [选填]:执行器心跳注册分组依据;为空则关闭自动注册
address:
ip:
port: 9999
logpath: G:/
logretentiondays: -1
accessToken: ### 执行器通讯TOKEN [选填]:非空时启用;
Em seguida, crie uma nova classe (XxlJobConfig)
@Configuration
public class XxlJobConfig {
private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);
@Value("${xxl.job.admin.addresses}")
private String adminAddresses;
@Value("${xxl.job.accessToken}")
private String accessToken;
@Value("${xxl.job.executor.appname}")
private String appname;
@Value("${xxl.job.executor.address}")
private String address;
@Value("${xxl.job.executor.ip}")
private String ip;
@Value("${xxl.job.executor.port}")
private int port;
@Value("${xxl.job.executor.logpath}")
private String logPath;
@Value("${xxl.job.executor.logretentiondays}")
private int logRetentionDays;
@Bean
public XxlJobSpringExecutor xxlJobExecutor() {
logger.info(">>>>>>>>>>> xxl-job config init.");
XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
xxlJobSpringExecutor.setAppname(appname);
xxlJobSpringExecutor.setAddress(address);
xxlJobSpringExecutor.setIp(ip);
xxlJobSpringExecutor.setPort(port);
xxlJobSpringExecutor.setAccessToken(accessToken);
xxlJobSpringExecutor.setLogPath(logPath);
xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);
return xxlJobSpringExecutor;
}
}
Em seguida, inicie o projeto Ruoyi e vá novamente à central de despacho para verificar o executor:
Se você descobrir que o registro foi bem-sucedido, significa que a integração foi bem-sucedida.
Etapa 5: adicione uma classe de processamento de tarefas ao projeto Ruoyi, o conteúdo é o seguinte
@Component
public class TestJob {
@XxlJob("testHandler")
public void testHandler() throws Exception {
System.out.println("我执行了------------");
}
}
Etapa 6: Configurar o gerenciamento de tarefas
Etapa 7: Executar e visualizar
Verifica-se que pode ser executado com sucesso. O executor nele indica que a integração foi bem-sucedida.
ps: Não é fácil de integrar. Espero coletá-lo. Talvez seja útil para você no futuro.