Hi, in the meanwhile I was able to debug and analyse and found out that the server is splitting very large messages into chunks of 8192 Bytes. The underlyingInput Buffer is however of the size of inputBuffer defined in FrameParser, that is 4096. After modifying the respective line in FrameParserConstructor to "_inputBuffer = newWriteableBuffer(8*1024);" The large chunks can be properly SSL unwrapped.
Is it safe for the rest of use cases to alter this value? Would the developer team consider to make this "chunk size" something configurable for the messenger implementation? Thanks and bests Frank -----Ursprüngliche Nachricht----- Von: Dr. Frank Heuschen [mailto:[email protected]] Gesendet: Mittwoch, 8. Oktober 2014 11:45 An: [email protected] Cc: Christian Wesp Betreff: proton-j 0.7 with SSL throws Exception at large messages Hi, I am developing an application that acts as an AMQP Client, using an SSL connection on a topic. The messages received on this topic are quite large and for each message I catch the following Exception: java.nio.BufferOverflowException at java.nio.HeapByteBuffer.put(Unknown Source) at org.apache.qpid.proton.engine.impl.ssl.SimpleSslTransportWrapper.unwrapInput (SimpleSslTransportWrapper.java:128) at org.apache.qpid.proton.engine.impl.ssl.SimpleSslTransportWrapper.process(Sim pleSslTransportWrapper.java:344) at org.apache.qpid.proton.engine.impl.ssl.SslImpl$UnsecureClientAwareTransportW rapper.process(SslImpl.java:132) at org.apache.qpid.proton.engine.impl.TransportImpl.process(TransportImpl.java: 1265) at org.apache.qpid.proton.driver.impl.ConnectorImpl.read(ConnectorImpl.java:136 ) at org.apache.qpid.proton.driver.impl.ConnectorImpl.process(ConnectorImpl.java: 95) at org.apache.qpid.proton.messenger.impl.MessengerImpl.processActive(MessengerI mpl.java:743) at org.apache.qpid.proton.messenger.impl.MessengerImpl.waitUntil(MessengerImpl. java:895) at org.apache.qpid.proton.messenger.impl.MessengerImpl.waitUntil(MessengerImpl. java:853) at org.apache.qpid.proton.messenger.impl.MessengerImpl.recv(MessengerImpl.java: 451) at org.apache.qpid.proton.messenger.impl.MessengerImpl.recv(MessengerImpl.java: 456) at com.oraise.Receiver.run(Receiver.java:30) If I run the same application with an external SSL Proxy, the messages are interpreted by proton-j without problem. Is there a (configurable) threshold for message sizes in the SSL implementation? I understand that the Java7 implementation of SSLEngine provides a int getApplicationBufferSize() method, but where is this value determined in the first place? Thanks and kind regards Frank Heuschen Dr. Frank Heuschen -- oraise GmbH Walther-von-Cronberg-Platz 6 60594 Frankfurt am Main Tel.: +49 69 981 955-361 Mob.: +49 172 6945821 E-Mail: <mailto:[email protected]> [email protected] Firmensitz: Haferwende 10 a, 28357 Bremen Registergericht: AG Bremen HRB 17491 Geschäftsführer: Markus Hengstenberg oraise Beteiligungs- und Verwaltungs GmbH & Co. KG Firmensitz: Haferwende 10 a, 28357 Bremen Registergericht: AG Bremen HRA 24070 Geschäftsführer: Markus Hengstenberg --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
