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:bruscin...@gmail.com> Sent: pátek 5. srpna 2022 12:57 To: dev@activemq.apache.org<mailto:dev@activemq.apache.org> 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 <jan.sm...@aimtecglobal.com> 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 >