Hi Domenico, thank you for your response. Unfortunately, this does not work either.
Tests which use this method pass fine, because the output stream happens to be a FileOutputStream instance which does not block (unless there’s some issue with the underlying file system). Jan From: Domenico Francesco Bruscino<mailto:[email protected]> Sent: pátek 5. srpna 2022 12:57 To: [email protected]<mailto:[email protected]> Subject: Re: A question about ClientMessage.setOutputStream() Hi Jan, calling checkCompletion() or getBodyBuffer() before calling setOutputStream(OutputStream) should fix your issue. Regards, Domenico On Fri, 5 Aug 2022 at 11:06, Jan Šmucr <[email protected]> wrote: > Hello. > > The Large Messages documentation states that: > > setOutputStream(OutputStream): Set the OutputStream that will receive > the body of a message. This method does not block. > > However if I write something like this: > > InputStream input = new PipedInputStream(1); > OutputStream output = new PipedOutputStream(input); > msg.setOutputStream(output); > // Now imagine I read something from the input and then: > msg.waitOutputStreamCompletion(0); > > …then never make it beyond the msg.setOutputStream(output) line. > > Is there something I don’t understand about the method being non blocking > as opposed to the saveToOutputStream method? > > Thank you. > Jan >
