以下是使用 xxl-job 的 API 接口添加任务的 Java 源代码示例:
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import com.xxl.job.core.log.XxlJobLogger;
import org.springframework.stereotype.Component;@ComponentpublicclassMyJobHandler {@XxlJob("myJobHandler")public ReturnT myJobHandler(String param)throws Exception {XxlJobLogger.log("XXL-JOB, Hello World.");return ReturnT.SUCCESS;}
}
在以上代码中,我们首先引入了 com.xxl.job 包下的相关类,然后定义了一个名为 MyJobHandler 的 Spring 组件,其中包含一个名为 myJobHandler 的方法,该方法使用了 @XxlJob 注解,用于标识这是一个 XXL-JOB 的任务处理方法。该方法接收一个名为 param 的字符串类型参数,使用 XxlJobLogger 输出日志,并返回 ReturnT.SUCCESS 表示任务执行成功。
需要注意的是,在使用 API 接口添加任务时,需要在调用 XxlJobClient 的 add 方法时传入任务执行器的地址,例如:
XxlJobInfojobInfo=newXxlJobInfo();
jobInfo.setJobGroup(1);
jobInfo.setJobCron("0 0/1 * * * ?");
jobInfo.setJobDesc("测试任务");
jobInfo.setExecutorHandler("myJobHandler");
jobInfo.setExecutorParam("test");
jobInfo.setExecutorRouteStrategy("FIRST");
jobInfo.setExecutorBlockStrategy("SERIAL_EXECUTION");
jobInfo.setExecutorFailStrategy("FAIL_RETRY");
jobInfo.setAuthor("XXL-JOB");XxlJobClientxxlJobClient=newXxlJobClient();
xxlJobClient.setAdminAddresses("http://localhost:8080/xxl-job-admin");
xxlJobClient.setAccessToken("YOUR_ACCESS_TOKEN");
xxlJobClient.add(jobInfo);
以上代码演示了如何使用 XxlJobClient 的 add 方法添加任务。在这里,我们需要指定任务的相关信息,如任务所属分组、任务的执行时间表达式、执行器的名称、执行器的参数等等。同时,我们还需要设置调度中心的地址和访问令牌。