Поскольку я использую приведенный ниже код для издателя и подписчика в Redis. Я использую сервер Redis версии 3.2.6, и я подключаюсь к Redis Java-клиенту jedis версии 2.9.0, используя приведенную ниже зависимость maven,
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
Вот мой код,
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import redis.clients.jedis.Jedis;
//import redis.clients.jedis.BinaryJedisPubSub;
import redis.clients.jedis.JedisPubSub;
public class JavaProject extends JedisPubSub{
public static void main(String[] args) throws IOException, InterruptedException {
Jedis jedis = new Jedis("192.168.0.20");
try {
jedis.connect();
System.out.println("Connected");
String subChannel = "192168026*";
JavaProject javaProject=new JavaProject();
jedis.subscribe(javaProject,subChannel);
System.out.println("Subscribed to topic");
jedis.publish(subChannel, "Hi".getBytes());
System.out.println("Published to topics");
}
catch(Exception jce){
jce.printStackTrace();
}
finally {
jedis.close();
}
System.out.println("Program Completed");
while(true){
}
}
@Override
public void onUnsubscribe(String arg0, int arg1) {
// TODO Auto-generated method stub
}
@Override
public void onSubscribe(String arg0, int arg1) {
// TODO Auto-generated method stub
}
@Override
public void onPUnsubscribe(String arg0, int arg1) {
// TODO Auto-generated method stub
}
@Override
public void onPSubscribe(String arg0, int arg1) {
// TODO Auto-generated method stub
}
@Override
public void onPMessage(String arg0, String arg1, String arg2) {
// TODO Auto-generated method stub
}
@Override
public void onMessage(String channel, String message) {
System.out.println(message);
}
}
когда я выполняю приведенный выше код, я получаю вывод ниже Connected
Но он зависает на методе subscribe(), выполнение не переходит дальше на следующую строку Так что же не так в этом коде?
Спасибо