2011-12-04 3 views
4

Spymemcached를 사용하여 서버의 Memcached에 액세스하고 있습니다. 나는 다음과 같은 명령작업 완료 후 Spymemcached Hanging

memcached -m 4096 -p 11211 -u memcache -l 127.0.0.1 -d -vvv 

를 사용하여 memcached를 시작했다 나는 Memcache를에 몇 가지 키/값 쌍을 넣어 다음 드라이버를 사용하고 있습니다. 어떤 이유로, 마지막 get 작업 후 main 기능이 중지됩니다. 절대로 종결되지 않습니다.

import java.net.InetSocketAddress; 
import net.spy.memcached.MemcachedClient; 

public class memcache { 
     public static void main(String args[]) { 
       //Connect to Memcache. 
       MemcachedClient c=null; 
       try{ 
         c = new MemcachedClient(
           new InetSocketAddress("127.0.0.1", 11211)); 
       } catch (Exception e) { 
         System.err.println("Could not connect to Memcached."); 
         System.exit(-1); 
       } 
       System.out.println("Connected to Memcached."); 
       Object myObject = null; 
       for (int i = 0; i < 10; i++) 
       { 
         c.set(new String("HELLO"), 3600, i+1); 
         myObject=c.get("HELLO"); 
         String value = myObject.toString(); 
         System.out.println("***" + value); 
       } 
       System.out.println("Done."); 
       return; 
     } 
} 

다음 출력이 표시되지만 응용 프로그램이 종료되지 않습니다.

<32 server listening (udp) 
<33 new auto-negotiating client connection 
33: going from conn_new_cmd to conn_waiting 
33: going from conn_waiting to conn_read 
33: going from conn_read to conn_parse_cmd 
33: Client using the ascii protocol 
<33 set HELLO 512 3600 1 
33: going from conn_parse_cmd to conn_nread 
> NOT FOUND HELLO 
>33 STORED 
33: going from conn_nread to conn_write 
33: going from conn_write to conn_new_cmd 
33: going from conn_new_cmd to conn_waiting 
33: going from conn_waiting to conn_read 
33: going from conn_read to conn_parse_cmd 
<33 get HELLO 
> FOUND KEY HELLO 
>33 sending key HELLO 
>33 END 
33: going from conn_parse_cmd to conn_mwrite 
33: going from conn_mwrite to conn_new_cmd 
33: going from conn_new_cmd to conn_waiting 
33: going from conn_waiting to conn_read 

이 어떤 문제 것은 main 함수가 종료 결코 원인이 될 수 있습니다

2011-12-04 14:18:31.839 INFO net.spy.memcached.MemcachedConnection: Added {QA sa=/127.0.0.1:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue 
Connected to Memcached. 
2011-12-04 14:18:31.844 INFO net.spy.memcached.MemcachedConnection: Connection state changed for [email protected] 
***1 
Done. 

서버는 다음과 같은 상태를보고? 누구든지 어떤 제안이 있습니까?

답변

8

솔루션은 쉬웠다. 그것은이 완료되면 클라이언트는 분리해야합니다 : 예제

c.shutdown(...)

없음이 중요한 단계를 포함하지 않습니다.