Hello all,

I am presently trying to send a 1.4 meg PDF in a message and am encountering 
substantial difficulties.

I have tried various combinations (though my central aim is to use Proton-J). 
Combinations as follows:
Qpid Proton-J 0.11.1 to HornetQ 2.4.0 Final to Qpid Proton-J 0.11.1
Qpid Proton-J 0.11.1 to Apache Artemis 1.2.0 to Qpid Proton-J 0.11.1
Qpid JMS 0.7 to HornetQ 2.4.0 Final to Qpid JMS 0.7
Qpid JMS 0.7 to Apache Artemis 1.2.0 to Qpid JMS 0.7

Have also tried MQLight and SwiftMQ clients (though they are not really a 
viable solution here due to their licenses).

The most bytes I have managed to send and receive is ~10,000.

I frequently get the two error messages below when sending (in the Artemis 
console window) -- relating to the Qpid Proton library.

(Note: I have tried increasing connection-ttl on the client side.)

My question is this: are there any important caveats when sending large 
messages via AMQP that I have somehow missed (or related caveats)?

I have read the Qpid documentation, HornetQ documentation and Apache Artemis 
documentation and there are some things that I think *may* be relevant, but I 
am not sure.

The question is clearly somewhat cross-technology but I felt that this was the 
best place to post the issue.

I am happy to supply Wireshark output if required, though I suspect the output 
would be quite voluminous.

Thank you for any help you are able to offer,
regards,
Matthew

-------------------------------------------------

java.nio.BufferUnderflowException
        at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:151)
        at 
org.apache.qpid.proton.codec.DecoderImpl.readRaw(DecoderImpl.java:939)
        at 
org.apache.qpid.proton.codec.BinaryType$LongBinaryEncoding.readValue(BinaryType.java:110)
        at 
org.apache.qpid.proton.codec.BinaryType$LongBinaryEncoding.readValue(BinaryType.java:67)
        at 
org.apache.qpid.proton.codec.DynamicTypeConstructor.readValue(DynamicTypeConstructor.java:39)
        at 
org.apache.qpid.proton.codec.DecoderImpl.readObject(DecoderImpl.java:885)
        at 
org.apache.qpid.proton.message.impl.MessageImpl.decode(MessageImpl.java:647)
        at 
org.apache.qpid.proton.message.impl.MessageImpl.decode(MessageImpl.java:577)
        at 
org.apache.qpid.proton.jms.EncodedMessage.decode(EncodedMessage.java:46)
        at 
org.apache.qpid.proton.jms.JMSMappingInboundTransformer.transform(JMSMappingInboundTransformer.java:40)
        at 
org.apache.activemq.artemis.core.protocol.proton.converter.ProtonMessageConverter.inboundJMSType(ProtonMessageConverter.java:57)
        at 
org.apache.activemq.artemis.core.protocol.proton.converter.ProtonMessageConverter.inbound(ProtonMessageConverter.java:43)
        at 
org.apache.activemq.artemis.core.protocol.proton.plug.ProtonSessionIntegrationCallback.serverSend(ProtonSessionIntegrationCallback.java:249)
        at 
org.proton.plug.context.server.ProtonServerReceiverContext.onMessage(ProtonServerReceiverContext.java:116)
        at 
org.proton.plug.context.AbstractConnectionContext$LocalListener.onDelivery(AbstractConnectionContext.java:250)
        at org.proton.plug.handler.Events.dispatch(Events.java:100)
        at 
org.proton.plug.handler.impl.ProtonHandlerImpl.dispatch(ProtonHandlerImpl.java:339)
        at 
org.proton.plug.handler.impl.ProtonHandlerImpl.flush(ProtonHandlerImpl.java:259)
        at 
org.proton.plug.handler.impl.ProtonHandlerImpl.inputBuffer(ProtonHandlerImpl.java:159)
        at 
org.proton.plug.context.AbstractConnectionContext.inputBuffer(AbstractConnectionContext.java:82)
        at 
org.apache.activemq.artemis.core.protocol.proton.ActiveMQProtonRemotingConnection.bufferReceived(ActiveMQProtonRemotingConnection.java:128)
        at 
org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:620)
        at 
org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:68)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294)
        at 
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846)
        at 
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
        at 
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)
        at java.lang.Thread.run(Thread.java:745)

14:45:05,373 WARN  [org.apache.activemq.artemis.core.client] AMQ212037: 
Connection failure has been detected: AMQ119014: Did not receive data from 
null. It is likely the client has exited or crashed without closing its 
connection, or the network between the server and client has
failed. You also might have configured connection-ttl and 
client-failure-check-period incorrectly. Please check user manual for more 
information. The connection will now be closed. [code=CONNECTION_TIMEDOUT]

Reply via email to