Camel之AsyncProcessor

   Camel支持一种更复杂的异步的处理模型,异步处理器实现一个继承自Processor接口的AsyncProcessor接口,使用异步Processor的优点:
a.异步Processor不会因等待阻塞调用而耗尽线程,这样在处理同样工作量的情况下,通过减少线程的数量可以增加系统的伸缩性
b.使用异步Processor,可以将路由分阶段处理,不同的线程池处理其相应的路由阶段,这就意味着路由可以并行处理。
缺点:实现异步的Processor要比同步的Processor复杂得多。

异步Processor与同步Processor的区别:
a.必须提供一个AsyncCallback对象,该对象在exchange处理完成后被通知
b.在异步Processor处理exchange的时候不能抛出任何异常,而应该将异常存储在exchange的Exception属性中
c.异步Processor必须知道它将以什么方式完成处理,异步或同步,如果process方法返回true,则是同步完成,如果process方法返回false,则是异步完成。
d.当处理器处理完exchange时,它必须调用callback.done(boolean sync)方法,sync参数必须与process方法的返回值一致。

对于一个路由来说,完全使用异步模式可以降低线程的使用量,这要求从Consumer开始就必须使用异步的处理API(即调用异步的
process方法),如果Consumer调用的是同步process()方法,那么消费者线程在处理Exchange时将被强制阻塞。
有一点必须注意的是当你调用了异步的API,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值