2012-05-29 4 views
1

Я пытаюсь настроить использование spymemcached для извлечения данных с сервера memcached (пробовал и 1.2 и 1.4). Я настроил его со значениями, указанными в их вики здесь (http://code.google.com/p/spymemcached/wiki/SpringIntegration). Однако, если я вставляю этот компонент в качестве MemcachedClient в свой класс, каждый раз, когда я пытаюсь получить доступ к кешу, я получаю таймаут. Моя строка кода так же просто, как:получение тайм-аутов из spymemcached с использованием интеграции Spring

 MyClass object = (MyClass) memcachedClient.get(cacheKey); 

в данный момент значение не находится в кэше, но я ожидал бы вернуть нуль. Вместо этого, все, что я получаю это исключение CXF (это вебсервис), в котором причина:

Caused by: net.spy.memcached.OperationTimeoutException: Timeout waiting for value 
    at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:1003) 
    at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:1018) 

Нет информации в журналах (хотя я все еще пытаюсь поставить их в DEBUG, а на данный момент я вижу только журналы spymemcached для INFO). У кого-то были подобные проблемы? Я могу получить доступ к серверу memcached через telnet и получить правильно возвращает END.

Спасибо.

ответ

1

Проблема заключалась в использовании протокола BINARY. Переключение на TEXT отлично работает. Я предполагаю, что установленная сборка memcached не поддерживала этот протокол - однако это было нелегко!