我有一个应该与memcached一起使用的简单代码。不幸的是,它无法正常工作。
以下是简化的代码段:
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测试是在运行应用程序的同一台机器上完成的。
Google handling node for operation is not set
的Google搜索没有给我带来任何有用的结果。
代码作为Apache Tomcat 8.0.3中的servlet执行,捆绑到NetBeans 8.0中。 Spymemcached版本是2.11.4。
你有什么想法吗?
感谢您的时间
答案 0 :(得分:1)
首先检查您是否可以使用基本连接使用简单的Java类连接服务器。首先设置一个值,然后尝试检索它。
MemcachedClient c=new MemcachedClient(new InetSocketAddress("hostname", portNum));
如果未正确配置节点,则可能会在多节点内存缓存配置中抛出此异常。