Reff: http://redis.io/topics/notifications
dependancies : redis.clients:jedis:2.7.2
To set notify-keyspace-events
Command: redis-cli config set notify-keyspace-events KEA
Subscriber.java
package com.vijaysy.notification;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPubSub;
/**
* Created by vijaysy on 31/03/16.
*/
public class Subscriber {
public static void main(String[] args) {
/* JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost");
Jedis jedis1 = pool.getResource();
jedis1.psubscribe(new NotificationListener(), "__key*__:RT*"); */
Jedis jedis = new Jedis("localhost");
jedis.psubscribe(new JedisPubSub() {
@Override
public void onPSubscribe(String pattern, int subscribedChannels) {
System.out.println("onPSubscribe " + pattern + " " + subscribedChannels);
}
@Override
public void onPMessage(String pattern, String channel, String message) {
System.out.print("[Pattern:" + pattern + "]");
System.out.print("[Channel: " + channel + "]");
System.out.println("[Message: " + message + "]");
}
}, "__key*__:RT*");
}
}
TestNotification.java
package com.vijaysy.notification;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
/**
* Created by vijay.yala on 31/03/16.
*/
public class TestNotifications {
public static void main(String[] args) {
JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost");
Jedis jedis = pool.getResource();
jedis.set("RTnotify", "umq");
jedis.set("notify", "umq");
jedis.set("notify1", "umq");
jedis.set("RTnotify1", "umq");
jedis.expire("RTnotify", 10); //in Seconds
}
}