Обратные вызовы ZeroMQ для Java / Scala - PullRequest
3 голосов
/ 07 марта 2012

Я ищу любую оболочку для ZeroMQ для Java / Scala. Я хочу добавить обратные вызовы в сокеты, но по умолчанию zmq не предоставляет эту функцию. Только операция блокировки «recv». Другой способ - создать цикл и пользовательский Poller, но, может быть, существуют какие-то другие решения?

1 Ответ

2 голосов
/ 30 марта 2012

Почему бы не создать простого Actor, который бы использовал обратный вызов в качестве аргумента конструктора, а затем просто сидел бы в:

while( running ) { 
  callback ( subscriber.recv( 0 ).asInstanceOf[Array[Byte]] ) 
}

Если скорость не является обязательным требованием, вы также можете посмотреть на модуль AKKA ZeroMQ , он следует традиционной передаче сообщений без блокировки. Однако я нашел это намного медленнее, чем ванильный JZMQ.

...