3

我正在使用 spymemcached 版本 2.8.1 来读取 cookie 对象,但我一直遇到以下异常:

app[web.1]: WARN net.spy.memcached.transcoders.SerializingTranscoder:
                 Caught CNFE decoding 513 bytes of data
app[web.1]: java.lang.ClassNotFoundException
                 org.apache.http.impl.cookie.BasicClientCookie
  1. 我正在使用 httpclient 版本 4.1.1:https ://dl.dropbox.com/u/6207935/Screen%20Shot%202013-02-05%20at%202.47.19%20PM.png 里面有BasicClientCookie类所以我不太清楚为什么它“找不到”

  2. 同样基于传闻,我认为这BasicClientCookie已经在 4.1.1 中被标记为可序列化,但确切的 javadocs 有点难以挖掘,老实说......所以这是我的一个假设。无论如何,该异常似乎与序列化无关,但我想我会为了问题的完整性而把它扔掉。

有什么想法可以解决这个问题?


更新 #1(2013 年 2 月 5 日)

这些可能会说明问题:

  1. http://code.google.com/p/spymemcached/issues/detail?id=146 - 但是在使用 Heroku 时,我不知道如何获得对我的应用服务器文件系统的相同级别的控制......方式它在这里描述。
  2. http://code.google.com/p/spymemcached/issues/detail?id=155 - 不知道如何让 spymemcached 使用自定义 SerializingTranscoder。
4

1 回答 1

5

这里给出的建议有效:http ://code.google.com/p/spymemcached/issues/detail?id=155#c2

唯一额外的一点是在将自定义 SerializingTranscoder 应用于 spymemcached 之后对其进行测试

MemcachedClient mc =
new MemcachedClient(
new ConnectionFactoryBuilder()
.setTranscoder(new CustomSerializingTranscoder()) // makes it take effect
.setProtocol(ConnectionFactoryBuilder.Protocol.BINARY)
...
于 2013-02-05T22:09:13.847 回答