专栏名称: Java编程精选
关注语言编程Java,分享、交流Java编程技巧和信息
目录
今天看啥  ›  专栏  ›  Java编程精选

xxl-job惊艳的设计,怎能叫人不爱

Java编程精选  · 公众号  · Java  · 2025-07-15 18:00
    

主要观点总结

本文介绍了xxl-job的通信底层介绍和通信整体流程,包括其惊艳的设计。文章详细描述了xxl-job如何使用netty,http等方式进行通信,以及通信过程中的关键步骤和处理机制。

关键观点总结

关键观点1: 通信底层介绍

xxl-job使用netty http的方式进行通信,虽然也支持Mina,jetty,netty tcp等方式,但是代码里面固定写死的是netty http。

关键观点2: 通信整体流程

文章以调度器通知执行器执行任务为例,介绍了通信的整体流程,包括使用动态代理模式隐藏通信细节、全异步处理任务、对异步处理的包装等。

关键观点3: 动态代理模式

xxl-job通过定义ExecutorBiz和AdminBiz两个接口,封装了通信细节。XxlRpcReferenceBean类的getObject()方法会生成一个代理类,进行远程通信。

关键观点4: 全异步处理

执行器收到消息进行反序列化,并没有同步执行任务代码,而是将任务信息存储在LinkedBlockingQueue中,异步线程从这个队列中获取任务信息然后执行。任务的处理结果也是异步返回。

关键观点5: 同步获取处理结果

调度器向执行器发出消息后,该线程阻塞,等待执行器处理完毕后返回结果。动态代理类中的触发调用和XxlRpcFutureResponse类实现了线程的等待和唤醒处理。


免责声明

免责声明:本文内容摘要由平台算法生成,仅为信息导航参考,不代表原文立场或观点。 原文内容版权归原作者所有,如您为原作者并希望删除该摘要或链接,请通过 【版权申诉通道】联系我们处理。

原文地址:访问原文地址
总结与预览地址:访问总结与预览
推荐产品:   推荐产品
文章地址: 访问文章快照