xmemcached在Tomcat下启动后,再reload的时候总抛出空指针

donaldtrump 2010-06-12
我用的是spring框架,Eclipse开发过程中,修改代码后reload,一直抛出空指针,有没有什么解决方案?能解释一下原因吗?
dennis_zane 2010-06-22
请将堆栈发出来,谢谢。
donaldtrump 2010-06-22
严重: XMemcached network layout exception
java.lang.NullPointerException
at com.google.code.yanf4j.buffer.IoBuffer.allocate(IoBuffer.java:234)
at com.google.code.yanf4j.buffer.IoBuffer.allocate(IoBuffer.java:216)
at net.rubyeye.xmemcached.command.binary.BaseBinaryCommand.encode(BaseBinaryCommand.java:319)
at net.rubyeye.xmemcached.impl.MemcachedTCPSession.wrapMessage(MemcachedTCPSession.java:140)
at com.google.code.yanf4j.core.impl.AbstractSession.write(AbstractSession.java:391)
at net.rubyeye.xmemcached.impl.MemcachedHandler.onSessionIdle(MemcachedHandler.java:160)
at com.google.code.yanf4j.core.impl.AbstractSession.onIdle(AbstractSession.java:174)
at com.google.code.yanf4j.nio.impl.AbstractNioSession.onEvent(AbstractNioSession.java:452)
at com.google.code.yanf4j.nio.impl.Reactor.checkIdle(Reactor.java:469)
at com.google.code.yanf4j.nio.impl.Reactor.checkExpiredIdle(Reactor.java:460)
at com.google.code.yanf4j.nio.impl.Reactor.checkSessionTimeout(Reactor.java:360)
at com.google.code.yanf4j.nio.impl.Reactor.run(Reactor.java:122)
2010-6-22 11:47:49 org.slf4j.impl.JDK14LoggerAdapter fillCallerData
donaldtrump 2010-06-22
上面就是抛出的错误,并且这个空指针错误一直不停的出现
期待你的回复
dengjie200 2010-06-22
我知道仁兄错哪里了。仁兄是不是启动的时候会发现memcached 一直连接不上,会重新连接?如果是的话,你可以去看看你下的估计是windows版本,然后里面他有个配置我记不得了,应该是配置使用协议吧,windows版本不能使用非文本协议的。
<property name="commandFactory">
<bean class="net.rubyeye.xmemcached.command.TextCommandFactory">
</bean>
</property>
你试试换成这个吧
dennis_zane 2010-06-22
donaldtrump 写道
严重: XMemcached network layout exception
java.lang.NullPointerException
at com.google.code.yanf4j.buffer.IoBuffer.allocate(IoBuffer.java:234)
at com.google.code.yanf4j.buffer.IoBuffer.allocate(IoBuffer.java:216)
at net.rubyeye.xmemcached.command.binary.BaseBinaryCommand.encode(BaseBinaryCommand.java:319)
at net.rubyeye.xmemcached.impl.MemcachedTCPSession.wrapMessage(MemcachedTCPSession.java:140)
at com.google.code.yanf4j.core.impl.AbstractSession.write(AbstractSession.java:391)
at net.rubyeye.xmemcached.impl.MemcachedHandler.onSessionIdle(MemcachedHandler.java:160)
at com.google.code.yanf4j.core.impl.AbstractSession.onIdle(AbstractSession.java:174)
at com.google.code.yanf4j.nio.impl.AbstractNioSession.onEvent(AbstractNioSession.java:452)
at com.google.code.yanf4j.nio.impl.Reactor.checkIdle(Reactor.java:469)
at com.google.code.yanf4j.nio.impl.Reactor.checkExpiredIdle(Reactor.java:460)
at com.google.code.yanf4j.nio.impl.Reactor.checkSessionTimeout(Reactor.java:360)
at com.google.code.yanf4j.nio.impl.Reactor.run(Reactor.java:122)
2010-6-22 11:47:49 org.slf4j.impl.JDK14LoggerAdapter fillCallerData

 

这个异常很奇怪,你说的reload是什么意思,能不能再详细描述下你的场景,你使用的memcached版本等等。

donaldtrump 2010-06-23
dengjie200 写道
我知道仁兄错哪里了。仁兄是不是启动的时候会发现memcached 一直连接不上,会重新连接?如果是的话,你可以去看看你下的估计是windows版本,然后里面他有个配置我记不得了,应该是配置使用协议吧,windows版本不能使用非文本协议的。
<property name="commandFactory">
<bean class="net.rubyeye.xmemcached.command.TextCommandFactory">
</bean>
</property>
你试试换成这个吧

windows下不能用非文本协议倒是第一次听说。
我确实用的是windows版本,但启动的时候连接上了,我按你的方法也试过了,仍然出现之前的错误。
不过依然要谢谢你
donaldtrump 2010-06-23
具体场景是:tomcat6下启动spring web工程,配置文件时按照Google code里的Xmemcached下User_Guide_zh配置的。当我每次修改java代码编译后tomcat要对工程重新装载,错误信息就是这个时候出现的。
ps:memcached用的是1.4.4 windows版
dennis_zane 2010-06-23
donaldtrump 写道
具体场景是:tomcat6下启动spring web工程,配置文件时按照Google code里的Xmemcached下User_Guide_zh配置的。当我每次修改java代码编译后tomcat要对工程重新装载,错误信息就是这个时候出现的。
ps:memcached用的是1.4.4 windows版


你将你的配置贴出来看下吧,xmc这块。
dennis_zane 2010-06-23
windows版本的memcached不支持二进制协议。
Global site tag (gtag.js) - Google Analytics