熊支付XXL-JOB接入方法
<h3>使用的模块加入maven依赖</h3>
<pre><code><dependency>
<groupId>com.xmpay</groupId>
<artifactId>job-core</artifactId>
<version>${core.version}</version>
</dependency></code></pre>
<h3>在application.properties中加入配置</h3>
<p><strong>如是yml文件,自行配置改格式即可,底下具体配置的详细意思可以去看job-center看文档</strong></p>
<pre><code># log config
logging.config=classpath:logback.xml
### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"
xxl.job.admin.addresses=http://127.0.0.1:8888/
### xxl-job executor address
xxl.job.executor.appname=open-xxl-job-demo
xxl.job.executor.ip=
xxl.job.executor.port=9999
### xxl-job, access token
xxl.job.accessToken=
### xxl-job log path
xxl.job.executor.logpath=business-center/xmf-accounting/src/main/log
### xxl-job log retention days
xxl.job.executor.logretentiondays=-1</code></pre>
<h3>加入xxl-job配置类</h3>
<pre><code class="language-java">@Configuration
@ComponentScan(basePackages = "com.xmpay.accounting.jobhandler") //注意改包路径,扫描本地任务的Handler
public class XxlJobConfig {
private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);
@Value("${xxl.job.admin.addresses}")
private String adminAddresses;
@Value("${xxl.job.executor.appname}")
private String appName;
@Value("${xxl.job.executor.ip}")
private String ip;
@Value("${xxl.job.executor.port}")
private int port;
@Value("${xxl.job.accessToken}")
private String accessToken;
@Value("${xxl.job.executor.logpath}")
private String logPath;
@Value("${xxl.job.executor.logretentiondays}")
private int logRetentionDays;
@Bean(initMethod = "start", destroyMethod = "destroy")
public XxlJobExecutor xxlJobExecutor() {
logger.info(">>>>>>>>>>> xxl-job config init.");
XxlJobExecutor xxlJobExecutor = new XxlJobExecutor();
xxlJobExecutor.setAdminAddresses(adminAddresses);
xxlJobExecutor.setAppName(appName);
xxlJobExecutor.setIp(ip);
xxlJobExecutor.setPort(port);
xxlJobExecutor.setAccessToken(accessToken);
xxlJobExecutor.setLogPath(logPath);
xxlJobExecutor.setLogRetentionDays(logRetentionDays);
return xxlJobExecutor;
}
}</code></pre>
<h3>执行的任务方法类</h3>
<pre><code class="language-java">/**
* 任务Handler示例(Bean模式)
* 开发步骤:
* 1、继承"IJobHandler":“com.xxl.job.core.handler.IJobHandler”;
* 2、注册到Spring容器:添加“@Component”注解,被Spring容器扫描为Bean实例;
* 3、注册到执行器工厂:添加“@JobHandler(value="自定义jobhandler名称")”注解,注解value值对应的是调度 中心新建任务的JobHandler属性的值。
* 4、执行结果:打印执行时的本地系统时间;
*/
@JobHandler(value="checkingJobHandler") // 此value和job-admin模块的web页面配置的一致
@Component
public class CheckingJobHandler extends IJobHandler {
@Override
public ReturnT<String> execute(String param) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = df.format(new Date());
System.err.println("CheckingJobHandler format-->"+format);
return SUCCESS;
}
}</code></pre>
<p>经上面几步,配置基本差不多,现在开始测试</p>
<h3>测试</h3>
<h4>job-admin配置</h4>
<p><strong>修改job-admin->resource->xxl-job-admin.properties文件</strong></p>
<pre><code>xxl.job.mail.host=smtp.qq.com
xxl.job.mail.port=25
xxl.job.mail.ssl=false
xxl.job.mail.username=1005924996@qq.com
xxl.job.mail.password=pywnvyfsiypubeac
xxl.job.mail.sendNick=《任务调度平台XXL-JOB》</code></pre>
<p>这个是执行失败时通知发送的的邮箱信息</p>
<p><strong>启动 job-admin 模块</strong></p>
<p>启动不报错的话,浏览器输入http://127.0.0.1:8888 即可访问</p>
<h4>web页面</h4>
<p>进入页面后,点击左边的任务管理-->右上角的新增任务 填写相关信息,如下图</p>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/85128f3d721672bada7dfc9b1001fe19?showdoc=.jpg" alt="" /></p>
<p>添加完之后,启动你的项目,看效果即可</p>