Как получить пакет сообщений напрямую через Disruptor? - PullRequest
0 голосов
/ 22 апреля 2019

Недавно я узнал о LMAX Disruptor, и я хочу получить пакет сообщений напрямую, а не получить одно сообщение и сохранить его в списке.

Я пытался достичь своей цели с помощью EventHandler, но таким образом мне нужно создать новый список и подождать, пока размер достигнет моего целевого размера пакета.

class MessageEventHandler extends EventHandler[CaseObject]{


  override def onEvent(event: CaseObject, sequence: Long, endOfBatch: Boolean): Unit = {
    // store the msg
    waitingForBatchSize(event)

  }

  def waitingForBatchSize(event: CaseObject): Unit = {

    if (MessageEventHandler.list.size() < 5) {
      MessageEventHandler.list.add(event)
    } else {
      // do somthing
      MessageEventHandler.list.clear()
    }

  }


}

object MessageEventHandler {
  val list: util.List[CaseObject] = new util.ArrayList[CaseObject]
}

Возможно ли получить пакет сообщений через Disruptor напрямую

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...