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