StreamCache does not work correctly with MarshalProcessor and pretty much all DataFormats
- Documentation states that stream caching can be turned on, on a per route basis. The places were we actually try and utilize stream caching only checks if the global option is turned on (MarshalProcessor + PGPKeyAccessDataFormat, I can't find any other meaningful attempts to use stream caching anywhere else) not the per route setting.
- Secondly, if we ignore the first problem, only one data formatter tries to use stream caching for unmarshaling: PGPKeyAccessDataFormat. If you try and unzip a large zip file it's contents will be decompressed into memory. The same goes for any other large data formatter conversion (unmarshaling, only).
Attached is a patch that corrects the first problem and part of the second problem (ZipFileDataFormat, ZipDataFormat and PGPKeyAccessDataFormat).
A separate issue should probably be opened to fix all the remaining DataFormat implementation to support Stream Caching.