пытаясь прочитать bodyBuffer HornetQ и получая NegativeArraySizeException

пытаюсь использовать

val nullablestr = hornetQMessage.getBodyBuffer.readNullableSimpleString.toString

or

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$class.run(ExecutorBasedEventDrivenDispatcher) 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)

есть идеи ?


person igx    schedule 09.06.2013    source источник
comment
Какая это версия HornetQ? Кроме того, вы должны указать версию HQ-сервера и клиента или, по крайней мере, подтвердить, что все участники используют одну и ту же версию. Fwiw, большая часть вашей трассировки стека не связана с HQ и, как я понимаю, не связана с вопросом, вы должны обрезать это.   -  person Francisco    schedule 10.06.2013


Ответы (1)


В качестве ссылки для любых пользователей HornetQ. причина этой ошибки была установлена ​​на форуме HornetQ.

Короче говоря, это было вызвано чтением значений из буфера в неправильном порядке. Скажем, вы пишете отрицательное целое число перед записью строки, а затем, с другой стороны, вы пытаетесь прочитать строку, не читая сначала отрицательное целое число.

person Francisco    schedule 26.06.2013