2017-03-17 1 views
0

Ich bin neu in der Scala und Redis Welt und ich versuche, etwas einfach zu tun:PubSub in Scala Redis

ich auf einen Kanal, um abonnieren möchten benachrichtigt werden, wenn neue Schlüssel hinzugefügt werden (Meine Idee ist, nur um den Schlüssel zu setzen und in einem Kanal zu veröffentlichen, dass der Schlüssel hinzugefügt wurde).

Wie ich in der Website gelesen habe, ist scala-redis die am meisten aktualisierte der empfohlenen Versionen, also entschied ich mich, es zu verwenden.

Ich habe einige Probleme mit dem abonnierenden Teil. Ich habe den folgenden Code:

import com.redis._ 
val r = new RedisClient("localhost", 6379) 
r.subscribe("modifications","modifications","subscribe") 

ich die folgende Fehlermeldung erhalten:

error: missing arguments for method subscribe in trait PubSub; follow this method with `_' if you want to treat it as a partially applied function

Ich war in der Dokumentation überprüft und die Funktion sieht wie folgt aus:

def subscribe(channel: String, channels: String*)(fn: PubSubMessage => Any) { 
    if (pubSub == true) { // already pubsub ing 
     subscribeRaw(channel, channels: _*) 
    } else { 
     pubSub = true 
     subscribeRaw(channel, channels: _*) 
     new Consumer(fn).start 
    } 
    } 

Um ehrlich zu sein Ich weiß nicht, was ich falsch mache. Wenn mir jemand mit ein paar Ideen helfen könnte, wäre es großartig.

Dank

Antwort

2

Sie benötigen eine Funktion, um die empfangene Nachricht zu verarbeiten:

r.subscribe("modifications","modifications","subscribe"){ m => println(m) } 

den größten Teil der Dokumentation Leider im Code, aber es könnte helfen, wenn Sie einen Blick auf die PubSubDemo nehmen oder PubSubSpec.

+0

Die Dokumentation dieser API ist in der Tat sehr schlecht. Vielen Dank. –

Verwandte Themen