LMAX Disruptor 4.0.0 发布


LMAX Disruptor是高性能线程间消息传递库:

  • 现在最低 Java 版本为 11
  • 问题#323 -WorkerPool已WorkProcessor被删除,不再存在Disruptor::handleEventsWithWorkerPool
  • Disruptor使用的构造函数Executor已被删除。ThreadFactory代替使用。
  • 将事件处理扩展接口汇总到EventHandler:
    • BatchStartAware
    • LifecycleAware
    • SequenceReportingEventHandler
  • FatalExceptionHandler现在IgnoreExceptionHandler使用 JDK 9 Platform Logging API,即System.Logger
  • 添加倒带批量功能BatchEventProcessor
  • 添加最大批量大小参数BatchEventProcessor
    • EventHandler::onBatchStart现在同时获取batchSize和queueDepth(之前它batchSize报告了队列深度)
  • 添加了文档EventPoller
  • Util::log2如果传递一个非正参数则抛出异常
  • 弃用
    • 已弃用ThreadHints.onSpinWait()
    • 已弃用Disruptor.handleExceptionsWith()- 自 2015 年以来,javadoc 已弃用此属性,但代码中并未弃用
    • 删除了以前不推荐使用的方法
      • Ringbuffer.resetTo()
      • ConsumerRepository.getLastSequenceInChain()