i using jdish.publish
in web app , jedis.subscribe
in desktop app. both separate app.
i have pubsub class
public class redisnewpostlistener extends jedispubsub { private final jedis jedis; private final appinstances appinstances; public redisnewpostlistener(appinstances instances, jedis jedis) { this.jedis = jedis; appinstances = instances; } @override public void onmessage(string channel, string message) { string[] pos = message.split("##"); double lat = double.parsedouble(pos[0]); double lon = double.parsedouble(pos[1]); list<georadiusresponse> members = jedis.georadius("usersbylocation", lon, lat, geo_search_range, geounit.km);
i calling like
redisnewpostlistener postlistener = new redisnewpostlistener(instances, jedis); jedis.subscribe(postlistener, "newpostarrived");
i getting error:
redis.clients.jedis.exceptions.jedisdataexception: err (p)subscribe / (p)unsubscribe / ping / quit allowed in context @ redis.clients.jedis.protocol.processerror(protocol.java:117) @ redis.clients.jedis.protocol.process(protocol.java:151) @ redis.clients.jedis.protocol.read(protocol.java:205) @ redis.clients.jedis.connection.readprotocolwithcheckingbroken(connection.java:297) @ redis.clients.jedis.connection.getrawobjectmultibulkreply(connection.java:242) @ redis.clients.jedis.connection.getobjectmultibulkreply(connection.java:248) @ redis.clients.jedis.jedis.georadius(jedis.java:3452) @ com.app.redis.redisnewpostlistener.onmessage(redisnewpostlistener.java:39) @ redis.clients.jedis.jedispubsub.process(jedispubsub.java:129) @ redis.clients.jedis.jedispubsub.proceed(jedispubsub.java:102) @ redis.clients.jedis.jedis.subscribe(jedis.java:2628)
Comments
Post a Comment