IOException для операции установки в memcached в java

Мой Java-код дает ioexception, и сервер memcache переподключается, когда я пытаюсь установить ключ в memcache.im, используя Windows XP, а не Linux.

Код :

public class Memcache implements Serializable  {

    MemcachedClient client;

    public static final int EXP_TIME = 10;
    public static final String KEY = "spoon";

    public static void main(String[] args)throws IOException{
        Memcache temp=new Memcache();
        Dummy dummy= new Dummy("Hello World");

        try {
           temp.client = new MemcachedClient(new InetSocketAddress("localhost", 11211));
        } catch (IOException e) {
           e.printStackTrace();
           System.err.println("connection problem");
        }
        temp.obj=temp.client.getAvailableServers();
        System.out.println(temp.obj);
        temp.obj1=temp.client.getUnavailableServers();
        System.out.println(temp.obj1);
        temp.client.add(KEY, EXP_TIME, dummy);
        Object myObject=temp.client.get(KEY);
        System.out.println(myObject);
        temp.client.delete(KEY);
    }
}

Я отлаживал код, но когда он достиг операции установки, он дал IOException n отключен.

код для манекена:

import java.io.Serializable;

public class Dummy implements Serializable {
    String one;

    public Dummy(String one){
        this.one=one;
    }
}

трассировка стека:

2012-06-15 14:30:19.259 INFO net.spy.memcached.MemcachedConnection:  Added {QA sa=/10.2.200.104:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue
2012-06-15 14:30:19.274 INFO net.spy.memcached.MemcachedConnection:  Connection state changed for sun.nio.ch.SelectionKeyImpl@7cbde6
[/10.2.200.104:11211]
[]
2012-06-15 14:30:22.852 INFO net.spy.memcached.MemcachedConnection:  Reconnecting due to exception on {QA sa=/10.2.200.104:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: set Key: spoon Flags: 1 Exp: 10 Data Length: 76, topWop=null, toWrite=0, interested=1}
java.io.IOException: Disconnected unexpected, will reconnect.
    at net.spy.memcached.MemcachedConnection.handleReads(MemcachedConnection.java:452)
    at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:380)
    at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:242)
    at net.spy.memcached.MemcachedConnection.run(MemcachedConnection.java:833)
2012-06-15 14:30:22.852 WARN net.spy.memcached.MemcachedConnection:  Closing, and reopening {QA sa=/10.2.200.104:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: set Key: spoon Flags: 1 Exp: 10 Data Length: 76, topWop=null, toWrite=0, interested=1}, attempt 0.
2012-06-15 14:30:22.852 WARN net.spy.memcached.protocol.ascii.AsciiMemcachedNodeImpl:  Discarding partially completed op: Cmd: set Key: spoon Flags: 1 Exp: 10 Data Length: 76
2012-06-15 14:30:24.868 INFO net.spy.memcached.MemcachedConnection:  Reconnecting {QA sa=/10.2.200.104:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0}
2012-06-15 14:30:24.868 INFO net.spy.memcached.MemcachedConnection:  Connection state changed for sun.nio.ch.SelectionKeyImpl@113beb5
2012-06-15 14:30:31.665 INFO net.spy.memcached.MemcachedConnection:  Reconnecting due to exception on {QA sa=/10.2.200.104:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: get Keys: spoon Exp: 0, topWop=null, toWrite=0, interested=1}
java.io.IOException: Disconnected unexpected, will reconnect.
    at net.spy.memcached.MemcachedConnection.handleReads(MemcachedConnection.java:452)
    at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:380)
    at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:242)
    at net.spy.memcached.MemcachedConnection.run(MemcachedConnection.java:833)
2012-06-15 14:30:31.665 WARN net.spy.memcached.MemcachedConnection:  Closing, and reopening {QA sa=/10.2.200.104:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: get Keys: spoon Exp: 0, topWop=null, toWrite=0, interested=1}, attempt 0.
2012-06-15 14:30:31.665 WARN net.spy.memcached.protocol.ascii.AsciiMemcachedNodeImpl:  Discarding partially completed op: Cmd: get Keys: spoon Exp: 0
2012-06-15 14:30:33.680 INFO net.spy.memcached.MemcachedConnection:  Reconnecting {QA sa=/10.2.200.104:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0}
2012-06-15 14:30:33.680 INFO net.spy.memcached.MemcachedConnection:  Connection state changed for sun.nio.ch.SelectionKeyImpl@edf389
Exception in thread "main" java.lang.RuntimeException: Exception waiting for value
    at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:1001)
    at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:1018)
    at ballydev.Memcache.main(Memcache.java:39)
Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Cancelled
    at net.spy.memcached.internal.OperationFuture.get(OperationFuture.java:103)
    at net.spy.memcached.internal.GetFuture.get(GetFuture.java:62)
    at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:997)
    ... 2 more
Caused by: java.lang.RuntimeException: Cancelled
    ... 5 more

person Anil Kumar    schedule 15.06.2012    source источник
comment
У вас есть запасная трассировка стека?   -  person adarshr    schedule 15.06.2012
comment
Мне кажется проблема с брандмауэром/антивирусом. Попробуйте отключить его.   -  person adarshr    schedule 15.06.2012
comment
я не могу... групповая политика...   -  person Anil Kumar    schedule 15.06.2012
comment
Может быть, я должен попытаться закрыть брандмауэр на моем порту 11211 ....   -  person Anil Kumar    schedule 15.06.2012
comment
Какой сервер memcached вы используете в Windows? Как вы его запускаете?   -  person ragnor    schedule 16.06.2012
comment
я скачал сервер с ‹splinedancer.com/memcached-win32›... и установил его с помощью следуя команде, указанной на этой странице. В службах показано, что сервер memcached запущен...   -  person Anil Kumar    schedule 16.06.2012
comment
Это довольно старая версия, попробуйте эту: memcached 1.4.5   -  person ragnor    schedule 16.06.2012


Ответы (1)


Чтобы отладить проблему, попробуйте подключиться к memcached по telnet с сервера, с которого исходит запрос. Memcached может отказать в подключении к другому хосту, если он запущен с явным указанием ip-адреса.

person dan-boa    schedule 15.06.2012
comment
я попробовал команду telnet localhost 11211, но командная строка показывает пустой экран... курсор просто перемещается пустым, даже если я что-то набираю... - person Anil Kumar; 15.06.2012
comment
ничего не появляется, когда я набираю любой символ в cmd... он возвращается в нормальное состояние, когда я нажимаю ввод... - person Anil Kumar; 17.06.2012