spymemcached从SerializingTranscoder for BasicClientCookie抛出ClassNotFoundException

pul*_*hal 3 heroku httpclient spymemcached

我正在使用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
Run Code Online (Sandbox Code Playgroud)
  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中已经标记为Serializable,但确切的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.

pul*_*hal 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)
...
Run Code Online (Sandbox Code Playgroud)