2012-03-07 46 views
3

我正在寻找适用于Java/Scala的ZeroMQ的任何包装。我想向套接字添加回调,但默认情况下,zmq不提供此功能。只阻止操作'recv'。另一种方法是创建循环和用户轮询,但也许存在一些其他解决方案?Java/Scala的ZeroMQ回调

+3

你可能想看看Akka,特别是在akka-zeromq。 http://akka.io/docs/akka/2.0/scala/zeromq.html – drexin 2012-03-07 15:32:48

回答

2

为什么不创建一个简单的演员,将采取在回调作为构造精氨酸,然后就坐在一个:

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

如果速度不是必需的,你也可以看看AKKA ZeroMQ模块,它遵循传统的非阻塞消息传递。然而,我发现它比香草JZMQ慢很多。

+0

类似于[ZeroMqReceiver]的示例(https://github.com/tolitius/market-watch/blob/master/ src/main/scala/org/gitpod/subscriber/zeromq/ZeroMqReceiver.scala),同时还传入一个回调作为构造函数arg – tolitius 2012-04-05 04:15:37