2012-03-07 10 views
3

私はZeroMQ for Java/Scalaのラッパーを探しています。コールバックをソケットに追加したいのですが、デフォルトではzmqはこの機能を提供していません。ブロック操作 'recv'のみ。もう1つの方法は、ループとユーザーポーラーを作成することですが、他にもいくつかのソリューションがありますか?ZeroMQコールバックfor Java/Scala

+3

あなたはAkkaを、特にakka-zeromqを見たいと思うかもしれません。 http://akka.io/docs/akka/2.0/scala/zeromq.html – drexin

答えて

2

なぜコンストラクタ引数としてコールバックに取り、そしてちょうどに座るなり、単純な俳優作成しない:、スピードが要求されていない場合、あなたはまた、AKKA ZeroMQモジュールで見ることができ

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

をこれは、従来の非ブロッキングメッセージパッシングに従います。しかし、私はバニラJZMQよりずっと遅いことが分かった。

+0

[ZeroMqReceiver](https://github.com/tolitius/market-watch/blob/master/)の例に似ていますsrc/main/scala/org/gitpod/subscriber/zeromq/ZeroMqReceiver.scala)、コンストラクタargとしてコールバックを渡します – tolitius