Hi Andreas,

SOAP messages are not streamed, they are buffered as well. Because CXF is doing that, you will not find many traces in the OpenCMIS code. You can configure the memory threshold and temp directory, though.

The Browser binding and the AtomPub binding support streaming without buffering for createDocument (client), setContentStream (client + server), getContentStream (client + server), appendContentStream (client), and checkIn (client).

On the server side, streams have to be buffered because it is possible that additional data is following the stream. The binary content is not necessarily the last part of a multipart request. OpenCMIS (and PortCMIS) always send it as the last part, but other CMIS clients (or web browsers) might not.

setContentStream is an exception because it just sends the stream and nothing else. Here unbuffered streaming is also supported on the server side.


- Florian


Hi,
when using SOAP, then the content is fully streamed, i.e. no buffering in memory or on hard disk.
But when using Browser or Atom binding, then ThresholdOutputStream is involved.

Is there means to switch to full streaming? - I don't think so, when looking 
into the source.

The binary content is the last part of the multipart create request. Why would 
it be necessary at all to buffer it?
If this was already answered, please excuse. I searched the archive before, but didn't find an answer.

Thanks

Andreas

Reply via email to