Once upon a time when we were using AMQ 5.6.0, we run into the
https://issues.apache.org/jira/browse/AMQ-4076. For us, the effects of this bug were a failure in CXF over JMS when the envelopes size exceeded a 20KB size (more or less).
To solve the problem we upgraded to 5.8.0 and the problem disappeared.
Two weeks ago, in one of our production deployments we got the effects of
https://issues.apache.org/jira/browse/AMQ-4312. To solve this blocking issue we applied the suggested patch and we got it solved as hoped.
Unfortunately, as soon as we applied the AMQ-4312 patch, the effects AMQ-4076 re-appeared: the SOAP over JMS transport fail whenever the SOAP envelope is greater than 20KB, more or less.
I'm quite sure this has been introduced by the patch: I doubled check the problem arises as soon as the patch of AMQ-4312 is applied.
Do you have any suggestion to address this issue?
Some env. details:
AMQ 5.8.0 with 1 patch: patch for AMQ-4312
CXF 2.7.3
jms transports used:
server side: nio+ssl
Java version: 1.6
Client side stacktrace:
Encountered a JMSException - resetting the underlying JMS Connection
javax.jms.JMSException: bad record MAC
at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
at org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1969)
at org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1988)
at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:101)
at org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:126)
at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:101)
at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:101)
at org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:160)
at org.apache.activemq.transport.AbstractInactivityMonitor.onException(AbstractInactivityMonitor.java:332)
at org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:96)
at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:200)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.net.ssl.SSLException: bad record MAC
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppInputStream.read(Unknown Source)
at org.apache.activemq.transport.tcp.TcpBufferedInputStream.readStream(TcpBufferedInputStream.java:70)
at org.apache.activemq.transport.tcp.TcpBufferedInputStream.read(TcpBufferedInputStream.java:92)
at org.apache.activemq.transport.tcp.TcpTransport$2.read(TcpTransport.java:594)
at java.io.DataInputStream.readFully(Unknown Source)
at java.io.DataInputStream.readFully(Unknown Source)
at org.apache.activemq.openwire.v9.BaseDataStreamMarshaller.tightUnmarshalByteSequence(BaseDataStreamMarshaller.java:440)
at org.apache.activemq.openwire.v9.MessageMarshaller.tightUnmarshal(MessageMarshaller.java:72)
at org.apache.activemq.openwire.v9.ActiveMQMessageMarshaller.tightUnmarshal(ActiveMQMessageMarshaller.java:66)
at org.apache.activemq.openwire.v9.ActiveMQTextMessageMarshaller.tightUnmarshal(ActiveMQTextMessageMarshaller.java:66)
at org.apache.activemq.openwire.OpenWireFormat.tightUnmarshalNestedObject(OpenWireFormat.java:462)
at org.apache.activemq.openwire.v9.BaseDataStreamMarshaller.tightUnmarsalNestedObject(BaseDataStreamMarshaller.java:125)
at org.apache.activemq.openwire.v9.MessageDispatchMarshaller.tightUnmarshal(MessageDispatchMarshaller.java:71)
at org.apache.activemq.openwire.OpenWireFormat.doUnmarshal(OpenWireFormat.java:371)
at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:285)
at org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:221)
at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:213)
at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196)
... 1 more
Thank you very much,
matteo