[
https://issues.jboss.org/browse/JBESB-3861?page=com.atlassian.jira.plugin...
]
Tom Cunningham resolved JBESB-3861.
-----------------------------------
Assignee: Tom Cunningham
Resolution: Done
Upgraded to commons codec 1.9. Tested that >250MB messages do not receive the
NegativeArraySizeException. Tested a good number of quickstarts to make sure that
there's no regressions.
Commons codec 1.9 only supports >= JDK 1.6, but after looking at the SOA-P 5.3.1
requirements, that looks okay.
Update commons-codec libraries
------------------------------
Key: JBESB-3861
URL:
https://issues.jboss.org/browse/JBESB-3861
Project: JBoss ESB
Issue Type: Task
Components: Rosetta
Affects Versions: 4.11
Reporter: Martin Weiler
Assignee: Tom Cunningham
We're getting this exception when we're trying to send a large (>200Mb)
message to a subsequent action. Full stacktrace follows:
ERROR [org.jboss.soa.esb.client.ServiceInvoker] (pool-58-thread-1) Unexpected throwable
during attempted message delivery using Courier for EPR [JMSEpr ... ]].
java.lang.NegativeArraySizeException
at org.apache.commons.codec.binary.Base64.encodeBase64(Base64.java:258)
at org.apache.commons.codec.binary.Base64.encodeBase64(Base64.java:178)
at org.jboss.internal.soa.esb.util.Encoding.encodeBytes(Encoding.java:43)
at org.jboss.internal.soa.esb.util.Encoding.encodeObject(Encoding.java:62)
at
org.jboss.internal.soa.esb.message.format.xml.marshal.SerializedMarshalUnmarshalPlugin.marshal(SerializedMarshalUnmarshalPlugin.java:83)
at
org.jboss.internal.soa.esb.message.format.xml.marshal.MarshalUnmarshalManager.marshal(MarshalUnmarshalManager.java:145)
at
org.jboss.internal.soa.esb.message.format.xml.BodyImpl.writeChildContent(BodyImpl.java:146)
at
org.jboss.internal.soa.esb.util.stax.ElementContent.writeContent(ElementContent.java:41)
at
org.jboss.internal.soa.esb.util.stax.StreamHelper.writeElement(StreamHelper.java:125)
at
org.jboss.internal.soa.esb.message.format.xml.MessageImpl.writeChildContent(MessageImpl.java:236)
at
org.jboss.internal.soa.esb.util.stax.ElementContent.writeContent(ElementContent.java:41)
at org.jboss.soa.esb.util.Util.serialize(Util.java:188)
at
org.jboss.internal.soa.esb.couriers.JmsCourier.internalDeliver(JmsCourier.java:224)
at org.jboss.internal.soa.esb.couriers.JmsCourier.deliver(JmsCourier.java:187)
at
org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.deliver(TwoWayCourierImpl.java:189)
at
org.jboss.soa.esb.client.ServiceInvoker$EPRInvoker.attemptDelivery(ServiceInvoker.java:702)
at
org.jboss.soa.esb.client.ServiceInvoker$EPRInvoker.access$200(ServiceInvoker.java:604)
at org.jboss.soa.esb.client.ServiceInvoker.post(ServiceInvoker.java:392)
at org.jboss.soa.esb.client.ServiceInvoker.deliverAsync(ServiceInvoker.java:265)
An upgrade of the commons-codec libraries from the currently bundled version 1.3 includes
a fix for CODEC-61 [1]. This would allow to Base64 encode input data up to 2GB, instead of
the ~250MB limitation in common codecs version 1.3.
[1]
https://issues.apache.org/jira/browse/CODEC-61
--
This message was sent by Atlassian JIRA
(v6.3.1#6329)