Add support for maxInflateDataSize to limit uncompressed buffers (#2139) This change adds support for limiting the maximum inflation size of a message body when a message needs to be decompressed. This new setting will help prevent OOM errors from large buffers being allocated. The primary concern this is addressing is that compressed messages may be smaller than maxFrameSize and the broker will accept them, but if an event triggers a decompression a huge buffer could be created and cause OOM. The broker will have a new maxInflateDataSize config that is broker wide because te value isn't tied to a protocol and it will default to 100 MB. Clients are tied to a transport, so it makes more sense to make it as a ratio of maxFrameSize. The default is 10x maxFrameSize if configured which should be enough of a buffer under normal circumstances. The ratio can be changed using maxInflatedDataSizeRatio on a connection.
Apache ActiveMQ is a high performance Apache 2.0 licensed Message Broker. ActiveMQ supports several API and protocols:
ActiveMQ also provides advanced features like:
To help you get started, try the following links:
Getting Started
./bin/activemq console (foreground) or ./bin/activemq startBuilding
mvn clean install -DskipTestsmvn clean installExamples
We welcome contributions of all kinds, for details of how you can help https://activemq.apache.org/contributing.html
Please refer to the website for details of finding the issue tracker, email lists, wiki or IRC channel at https://activemq.apache.org/
Please help us make Apache ActiveMQ better - we appreciate any feedback you may have.
Enjoy!
This software is licensed under the terms you may find in the file named “LICENSE” in this directory.
This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See https://www.wassenaar.org/ for more information.
The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.
The following provides more details on the included cryptographic software:
ActiveMQ supports the use of SSL TCP connections when used with with a JVM supporting the Java Cryptography extensions https://www.oracle.com/java/technologies/javase/javase-tech-security.html. ActiveMQ does not include these libraries itself, but is designed to use them.