Skip to content

Commit

Permalink
add listener redis
Browse files Browse the repository at this point in the history
  • Loading branch information
黄志磊 committed Jan 5, 2016
1 parent 6a62d4d commit 994e92a
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.shinemo.mpush.tools.redis.listener;

import java.util.Iterator;
import java.util.Map;

import com.google.common.collect.Maps;

public class ListenerDispatcher implements MessageListener {

private Map<String, MessageListener> holder = Maps.newTreeMap();

public static ListenerDispatcher instance = new ListenerDispatcher();

private ListenerDispatcher() {
}

@Override
public void onMessage(String channel, String message) {
Iterator<Map.Entry<String, MessageListener>> it = holder.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, MessageListener> entry = it.next();
entry.getValue().onMessage(channel, message);
}
}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.shinemo.mpush.tools.redis.listener;


public interface MessageListener {

void onMessage(String channel, String message);

}
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,20 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.shinemo.mpush.tools.redis.listener.ListenerDispatcher;

import redis.clients.jedis.JedisPubSub;

public class Subscriber extends JedisPubSub{

private static final Logger log = LoggerFactory.getLogger(Subscriber.class);

private ListenerDispatcher dispatcher = ListenerDispatcher.instance;

@Override
public void onMessage(String channel, String message) {
log.warn("onMessage channel:"+channel+","+message);
dispatcher.onMessage(channel, message);
super.onMessage(channel, message);
}

Expand Down

0 comments on commit 994e92a

Please sign in to comment.