2014-08-27 161 views
1

我有一個簡單的代碼,應該與memcached一起工作。不幸的是,它不能正常工作。Spymemcached操作節點沒有設置

下面是一個簡單的代碼片段:

MemcachedClinet memcached = new MemcachedClient(new ConnectionFactoryBuilder() 
        .setDaemon(true) 
        .setFailureMode(FailureMode.Cancel) 
        .build(), 
       AddrUtil.getAddresses("192.168.178.27:11211")); 

memcached.get(keyName); 

這裏是一個錯誤的執行過程中出現了:

2014-08-28 01:47:46.577 INFO net.spy.memcached.MemcachedConnection: Added {QA sa=/192.168.178.27:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue 
2014-08-28 01:47:46.579 WARN net.spy.memcached.MemcachedConnection: handling node for operation is not set 
28-Aug-2014 01:47:46.579 SEVERE [http-nio-8080-exec-9] com.internetlogisticsinc.projects.xenu.core.Rotator.getCounter null 
java.util.concurrent.CancellationException: Cancelled 
    at net.spy.memcached.internal.OperationFuture.get(OperationFuture.java:177) 
    at net.spy.memcached.internal.GetFuture.get(GetFuture.java:69) 
    at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:1230) 
    at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:1257) 
(...) 

我已經完全不知道handling node for operation is not set意味着什麼可能導致此錯誤消息。 Memcached服務器正常工作,我可以通過telnet連接到它,沒有任何問題。 telnet測試是在應用程序運行的同一臺機器上完成的。

使用谷歌搜索handling node for operation is not set沒有給我帶來任何有用的結果。

代碼在Apache Tomcat 8.0.3中作爲servlet執行,捆綁到NetBeans 8.0中。 Spymemcached版本是2.11.4。

你有什麼想法嗎?

謝謝您的時間

回答

1

首先檢查您是否可以使用簡單的Java類使用基本的連接來連接你的服務器。首先設置一個值,然後嘗試檢索它。

MemcachedClient c=new MemcachedClient(new InetSocketAddress("hostname", portNum)); 

當您未正確配置節點時,可能會在多節點memcache配置中拋出此異常。

+0

我用你的代碼更新了我的代碼,結果是: – kazy 2014-08-28 10:41:30

+0

'2014-08-28 12:30:49.571 INFO net.spy.memcached.MemcachedConnection:Added {QA sa =/192.168.178.27:11211 ,#Rops = 0,#Wops = 0,#iq = 0,topRop = null,topWop = null,toWrite = 0,interested = 0}連接隊列 2014-08-28 12:30:49.572 WARN net。 spy.memcached.MemcachedConnection:無法重新分發到另一個節點,重試com.example.test的主節點。 ' – kazy 2014-08-28 10:42:18

+0

您使用單個memcached節點還是多個節點?它似乎是配置了多個節點,但實際上你有一個節點。 – indika 2014-08-29 01:46:54