主要观点总结
本文介绍了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类实现了线程的等待和唤醒处理。
免责声明
免责声明:本文内容摘要由平台算法生成,仅为信息导航参考,不代表原文立场或观点。
原文内容版权归原作者所有,如您为原作者并希望删除该摘要或链接,请通过
【版权申诉通道】联系我们处理。