HornetQ 2.4.0 can't receive single message of more than 4096 bytes
yangrui May 29, 2014 6:24 AMHi All,
I am using qpid messaging api to access Hornetq server, the Hornetq version is 2.4 and it can support AMQP 1.0.
When I send a message with less than 4096 bytes, the receiver can get it.
But when I send a message with more than 4096 bytes, the receiver can't get it and the server put error as follows.
By the way, if I change hornetq to activemq, the receiver can work correctly.
Best regards.
----------------------------------------------
16:10:04,184 WARN [org.hornetq.core.server] HQ222151: removing consumer which d
id not handle a message, consumer=ServerConsumerImpl [id=324270037384, filter=nu
ll, binding=LocalQueueBinding [address=testQueue, queue=QueueImpl[name=testQueue
, postOffice=PostOfficeImpl [server=HornetQServerImpl::serverUUID=2fc82b91-cd1d-
11e3-ac81-ffca7aefbfad]]@1a417e7, filter=null, name=testQueue, clusterName=testQ
ueue2fc82b91-cd1d-11e3-ac81-ffca7aefbfad]], message=Reference[324270030919]:NON-
RELIABLE:ServerMessage[messageID=324270030919,durable=false,userID=null,priority
=0, bodySize=32768,expiration=0, durable=false, address=testQueue,properties=Typ
edProperties[{HORNETQ_PROTON_FORMAT=1, PROTON_MESSAGE_SIZE=32422, HORNETQ_PROTON
_MESSAGE_TYPE=0, HORNETQ_PROTON_MESSAGE_FORMAT=0}]]@5464185: java.nio.BufferOver
flowException
at java.nio.HeapByteBuffer.put(Unknown Source) [rt.jar:1.7.0_04]
at org.apache.qpid.proton.codec.WritableBuffer$ByteBufferWrapper.put(Wri
tableBuffer.java:80) [proton-j-impl.jar:0.5]
at org.apache.qpid.proton.codec.EncoderImpl.writeRaw(EncoderImpl.java:76
7) [proton-j-impl.jar:0.5]
at org.apache.qpid.proton.codec.BinaryType$LongBinaryEncoding.writeEncod
edValue(BinaryType.java:80) [proton-j-impl.jar:0.5]
at org.apache.qpid.proton.codec.BinaryType$LongBinaryEncoding.writeEncod
edValue(BinaryType.java:67) [proton-j-impl.jar:0.5]
at org.apache.qpid.proton.codec.FloatingSizePrimitiveTypeEncoding.writeV
alue(FloatingSizePrimitiveTypeEncoding.java:41) [proton-j-impl.jar:0.5]
at org.apache.qpid.proton.codec.AbstractDescribedType$DynamicDescribedTy
peEncoding.writeValue(AbstractDescribedType.java:114) [proton-j-impl.jar:0.5]
at org.apache.qpid.proton.codec.AbstractDescribedType.write(AbstractDesc
ribedType.java:75) [proton-j-impl.jar:0.5]
at org.apache.qpid.proton.codec.EncoderImpl.writeObject(EncoderImpl.java
:731) [proton-j-impl.jar:0.5]
at org.apache.qpid.proton.message.impl.MessageImpl.encode(MessageImpl.ja
va:725) [proton-j-impl.jar:0.5]
at org.hornetq.core.protocol.proton.ProtonUtils$OUTBOUND.transform(Proto
nUtils.java:378) [hornetq-amqp-protocol.jar:]
at org.hornetq.core.protocol.proton.ProtonConsumer.handleDelivery(Proton
Consumer.java:210) [hornetq-amqp-protocol.jar:]
at org.hornetq.core.protocol.proton.ProtonSession.sendMessage(ProtonSess
ion.java:139) [hornetq-amqp-protocol.jar:]
at org.hornetq.core.server.impl.ServerConsumerImpl.deliverStandardMessag
e(ServerConsumerImpl.java:942) [hornetq-server.jar:]
at org.hornetq.core.server.impl.ServerConsumerImpl.proceedDeliver(Server
ConsumerImpl.java:400) [hornetq-server.jar:]
at org.hornetq.core.server.impl.QueueImpl.proceedDeliver(QueueImpl.java:
2449) [hornetq-server.jar:]
at org.hornetq.core.server.impl.QueueImpl.deliver(QueueImpl.java:2061) [
hornetq-server.jar:]
at org.hornetq.core.server.impl.QueueImpl.access$1200(QueueImpl.java:81)
[hornetq-server.jar:]
at org.hornetq.core.server.impl.QueueImpl$DeliverRunner.run(QueueImpl.ja
va:2822) [hornetq-server.jar:]
at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(Ordere
dExecutorFactory.java:107) [hornetq-core-client.jar:]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt
.jar:1.7.0_04]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [r
t.jar:1.7.0_04]
at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_04]