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不支持二进制协议。
|