private void subscribe(JedisPubSub jedisPubSub){
Jedis jedis = this.jedisPool.getResource();
String[] channels = {SQSUtils.getIp()};
ListeningExecutorService guavaExecutor = MoreExecutors.listeningDecorator(Executors.newSingleThreadExecutor());
ListenableFuture<Nullable> listenableFuture = guavaExecutor.submit(new Callable<Nullable>() {
@Override
public Nullable call() throws Exception {
jedis.subscribe(jedisPubSub, channels);
return null;
}
});
FutureCallback callback = new FutureCallback<Nullable>() {
@Override
public void onSuccess(@Nullable Nullable nullable) {
log.info("========================监听本节点的请求队列初始化成功!========================");
}
@Override
public void onFailure(Throwable t) {
log.error("========================监听本节点的请求队列初始化失败!========================");
System.exit(3);
}
};
Futures.addCallback(listenableFuture, callback, guavaExecutor);
}