【发布时间】:2013-06-26 19:57:43
【问题描述】:
尝试使用
val nullablestr = hornetQMessage.getBodyBuffer.readNullableSimpleString.toString
或
val strMessage = hornetQMessage.getBodyBuffer.readString
得到
java.lang.NegativeArraySizeException 在 org.hornetq.core.buffers.impl.ChannelBufferWrapper.readSimpleStringInternal(ChannelBufferWrapper.java:83) 在 org.hornetq.core.buffers.impl.ChannelBufferWrapper.readNullableSimpleString(ChannelBufferWrapper.java:58) 在 com.gamescale.messaging.hornetQ.HornetQMessageConverter$.extractGSMessage(HornetQMessageConverter.scala:68) 在 com.gamescale.messaging.hornetQ.MessageBusHornetQClientImpl$$anonfun$1$$anon$2$$anonfun$receive$1.apply(MessageBusHornetQClientImpl.scala:246) 在 com.gamescale.messaging.hornetQ.MessageBusHornetQClientImpl$$anonfun$1$$anon$2$$anonfun$receive$1.apply(MessageBusHornetQClientImpl.scala:243) 在 akka.actor.Actor$class.apply(Actor.scala:563) 在 com.gamescale.messaging.hornetQ.MessageBusHornetQClientImpl$$anonfun$1$$anon$2.apply(MessageBusHornetQClientImpl.scala:242) 在 akka.actor.LocalActorRef.invoke(ActorRef.scala:905) 在 akka.dispatch.MessageInvocation.invoke(MessageHandling.scala:25) 在 akka.dispatch.ExecutableMailbox$class.processMailbox(ExecutorBasedEventDrivenDispatcher.scala:216) 在 akka.dispatch.ExecutorBasedEventDrivenDispatcher$$anon$4.processMailbox(ExecutorBasedEventDrivenDispatcher.scala:122) 在 akka.dispatch.ExecutableMailbox$class.run(ExecutorBasedEventDrivenDispatcher.scala:188) 在 akka.dispatch.ExecutorBasedEventDrivenDispatcher$$anon$4.run(ExecutorBasedEventDrivenDispatcher.scala:122) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 java.lang.Thread.run(Thread.java:722) 在 akka.dispatch.MonitorableThread.run(ThreadPoolBuilder.scala:184)
我用同样的方法写消息
hornetQMessage.getBodyBuffer.writeString(message)
有什么想法吗?
【问题讨论】:
-
这是哪个 HornetQ 版本?此外,您应该提及总部服务器和客户端版本,或者至少确认所有参与者都使用相同的版本。 Fwiw,您的大部分堆栈跟踪都与总部无关,并且 - 正如我所看到的 - 与问题无关,您应该修剪它。
标签: hornetq