[REDIS] 서버가 연결을 닫았다는 같은 레디 스 보인다
REDIS서버가 연결을 닫았다는 같은 레디 스 보인다
나는 레디 스 서브 / 퍼브를 사용하려면,하지만 난 하나 개의 채널 2 분 후, 콘솔 출력 예외를 가입 할 때 : 서버가 연결을 닫았다는 것 같다.
버전 반복 : 반복-3.0.3
jedis 버전 : 2.3.0
: OS X 요세미티 10.10.5
Subscribe.class
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxIdle(10);
jedisPoolConfig.setMaxWait(4000);
jedisPoolConfig.setTestOnBorrow(true);
JedisPool jedisPool = new JedisPool(jedisPoolConfig, "127.0.0.1", 6379);
final Jedis jedis = jedisPool.getResource();
System.out.println(jedis.configGet("timeout"));
System.out.println(jedis.configGet("tcp-keepalive"));
final JedisPubSub jedisPubSub = new JedisPubSub() {
@Override
public void onMessage(String channel, String message) {
System.out.println("onMessage");
}
@Override
public void onPMessage(String pattern, String channel, String message) {
System.out.println("onPMessage");
}
@Override
public void onSubscribe(String channel, int subscribedChannels) {
System.out.println("onSubscribe");
}
@Override
public void onUnsubscribe(String channel, int subscribedChannels) {
System.out.println("onUnsubscribe");
}
@Override
public void onPUnsubscribe(String pattern, int subscribedChannels) {
System.out.println("onPUnsubscribe");
}
@Override
public void onPSubscribe(String pattern, int subscribedChannels) {
System.out.println("onPSubscribe");
}
};
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(dateFormat.format(new Date()));
jedis.subscribe(jedisPubSub, "/atm/test");
Publish.class
Jedis jedis = new Jedis("127.0.0.1", 6379);
jedis.publish("/atm/test", "lqiaing---hello");
다음 이분 콘솔 출력 후 :
[timeout, 0]
[tcp-keepalive, 0]
2015-12-03 19:01:55
onSubscribe
Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException:
It seems like server has closed the connection.
at redis.clients.util.RedisInputStream.readLine(RedisInputStream.java:91)
at redis.clients.jedis.Protocol.processMultiBulkReply(Protocol.java:110)
at redis.clients.jedis.Protocol.process(Protocol.java:63)
at redis.clients.jedis.Protocol.read(Protocol.java:122)
at redis.clients.jedis.Connection.getObjectMultiBulkReply(Connection.java:196)
at redis.clients.jedis.JedisPubSub.process(JedisPubSub.java:88)
at redis.clients.jedis.JedisPubSub.proceed(JedisPubSub.java:83)
at redis.clients.jedis.Jedis.subscribe(Jedis.java:1974)
at Subscribe.main(Subscribe.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
그 누구도 날 도와 드릴까요? 정말 고마워!
해결법
-
==============================
1.나는 OSX 사용자 아니에요하지만 120 초를 초과 TCP 연결을 죽일하도록 구성된 운영 체제 수 있습니다. 당신은 연결이 계속 죽으면 확인 (30 초 같은) 일부 값은 TCP-킵 얼라이브 옵션을 설정 봤어?
나는 OSX 사용자 아니에요하지만 120 초를 초과 TCP 연결을 죽일하도록 구성된 운영 체제 수 있습니다. 당신은 연결이 계속 죽으면 확인 (30 초 같은) 일부 값은 TCP-킵 얼라이브 옵션을 설정 봤어?
from https://stackoverflow.com/questions/34131736/redis-it-seems-like-server-has-closed-the-connection by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 액티브 - 액티브 복제 레디 스 (0) | 2020.01.09 |
---|---|
[REDIS] 레디 스는 순서가 삽입, 또는 이상한 정렬? (0) | 2020.01.09 |
[REDIS] 레디 스의 정확도 명령을 dbsize (0) | 2020.01.09 |
[REDIS] 실시간으로 노드 JS와 D3를 사용하여지도에 미국의 플로팅 이름 (0) | 2020.01.09 |
[REDIS] 어떻게 키 - 값 저장소에 기존의 관계형 데이터베이스를 변환하는? (0) | 2020.01.09 |