草庐IT

springcloud:快速上手定时任务框架xxl-job(十五)

0.引言实际开发中,我们常常遇到需要定时执行的任务,我们可以利用定时线程池或schedule框架等来实现定时任务,但这些方式都有效率、性能上的缺陷,在微服务框架下,我们期望一种更加规整、轻量、可靠的定时任务框架来帮助我们实现定时任务,以及可视化的管理定时任务。在这样的需求下,国产定时任务框架xxl-job应运而生。1.xxl-job简介xxl-job是分布式的任务调度平台,以作者名字命名,以其轻量、可视、易上手迅速在微服务框架下站稳脚跟。xxl-job分为服务端和客户端,客户端也就是我们的定时任务方法实现,也称为执行器,而服务端用来管理定时任务配置以及记录执行情况,也称为调度器官方文档:htt

springcloud:快速上手定时任务框架xxl-job(十五)

0.引言实际开发中,我们常常遇到需要定时执行的任务,我们可以利用定时线程池或schedule框架等来实现定时任务,但这些方式都有效率、性能上的缺陷,在微服务框架下,我们期望一种更加规整、轻量、可靠的定时任务框架来帮助我们实现定时任务,以及可视化的管理定时任务。在这样的需求下,国产定时任务框架xxl-job应运而生。1.xxl-job简介xxl-job是分布式的任务调度平台,以作者名字命名,以其轻量、可视、易上手迅速在微服务框架下站稳脚跟。xxl-job分为服务端和客户端,客户端也就是我们的定时任务方法实现,也称为执行器,而服务端用来管理定时任务配置以及记录执行情况,也称为调度器官方文档:htt

xxl-job远程命令执行漏洞复现

目录1、漏洞描述2、靶场搭建3、漏洞复现(反弹shell)1、漏洞描述XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。XXL-JOB分为admin和executor两端,前者为后台管理页面,后者是任务执行的客户端。executor默认没有配置认证,未授权的攻击者可以通过RESTfulAPI执行任意命令。2、靶场搭建靶场使用vulhub进入vulhub/xxl-job/unacc目录下,执行docker-composeup-d容器起来后,dockerps-a看一下浏览器访问http://your-ip:

msg:xxl-job remoting error(connect timed out), for url : http://169.254.104.1:8900/run

 问题如上。xxl-job是部署在腾讯云服务器上的,但是web程序在本地。在不同局域网中。内网穿透解决。注意,这两个端口需要和yaml文件中配置的port一致,port默认是9999,可以自己修改。然后,获取对应的域名(这里webinterface会显示对应的ip:端口,显示disable的肯定是不行的) 将这个域名手动配置到执行器的机器地址栏 最后添加任务管理就可以了

XXL-JOB的阻塞处理策略-单机串行机制

XXL-JOB的阻塞处理策略-单机串行机制问题默认的单机串行策略,是指的是在xxl-job调度时串行,还是指具体的执行器串行?纠结这个问题的起源是在使用xxl-job的时候,配置了两台执行器,这两台执行器的代码是一样的,且JOB的工作是拉取表中特定状态的数据进行处理结果发现部分数据被重复处理,原因是xxl-job在执行器a未执行完毕的情况下,启动了执行器b,此时执行器a中未被修改状态的数据就同时被两台执行器处理结论xxl-job的默认处理策略是单机串行,这里串行指的是具体执行器上面的同一个任务串行如果配置了多个执行器(即多节点),且没有通过入参控制job获取的处理数据,则最好调整路由策略为ha

动态创建xxl-job任务

1.需求背景:微信小程序秒杀模块有个订阅功能,当用户点击完订阅后,要在活动开始的前10分钟调用微信接口发送订阅消息给用户2.思路:本地创建秒杀订阅表,当用户添加或者取消时对应表中数据的增删,添加数据时动态创建一条xxljob的定时任务,取消时删除它xxl-job有两种创建任务的方式,第一种就是我们使用xxl-job的图形化页面,第二种直接调用xxl-job的接口(其实图形化页面也是使用了调用接口的方式)废话少说,下面是工具类和示例代码以供参考@ComponentpublicclassXxlJobUtil{publicstaticfinalintSUCCESS_CODE=200;privates

XXL-JOB executor 未授权访问漏洞

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。XXL-JOB分为admin和executor两端,前者为后台管理页面,后者是任务执行的客户端。漏洞影响版本:executor默认没有配置认证,未授权的攻击者可以通过RESTfulAPI接口执行任意命令。此漏洞为Xxljob配置不当情况下反序列化RCEXxlJobXxlJob>=2.2.0会支持RESTFULAPI,直接打公开的POC过去即可。在官方文档的执行器配置文件中说到端口号在默认情况下是9999--------------------------

openFile(/data/applogs/xxl-job/xxl-job-admin.log,true) call failed

问题描述:启动XXL-JOB的时候提示记录日志的路径不存在或权限不足。解决办法:打开xxl-job-admin项目目录,找到logback.xml日志文件配置,修改log.path日志路径。如将/data/applogs/xxl-job/xxl-job-admin.log修改成~/xxl-job/xxl-job-admin.log,重新启动程序。propertyname="log.path"value="~/xxl-job/xxl-job-admin.log"/>

XXL-JOB GLUE任务第三方依赖包的管理实践

背景xxl-job是一个分布式任务调度平台,它的应用场景非常广泛,例如定时任务、消息推送、批处理等。xxl-job中的任务类型主要有两种:BEAN模式(方法形式)支持基于方法的开发方式,每个任务对应一个方法。优点:每个任务只需要开发一个方法,并添加”@XxlJob”注解即可,更加方便、快速。支持自动扫描任务并注入到执行器容器。缺点:要求Spring容器环境;基于方法开发的任务,底层会生成JobHandler代理,和基于类的方式一样,任务也会以JobHandler的形式存在于执行器任务容器中。GLUE模式(源码方式)任务以源码方式维护在调度中心,支持通过WebIDE在线更新,实时编译和生效,因此

XXL-JOB详细说明

XXL-JOB常见任务调度单机:Timer、ExectorService、spring@scheduled分布式:xxl-job、quartz、elastic-job原生定时任务的先天缺陷XXL-JOB简介由调度中心和执行器组成,调度中心提供一个web管理配置任务和执行器,调度中心通过rpc触发执行器1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;2、动态:支持动态修改任务状态、启动/停止任务,以及终止运行中任务,即时生效;3、路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、随机、一致性HASH、最不经常使用、最近最久未使用、故障转移、忙碌