It’s been a while I wrote that. I remember there was a method for sabe that would block. saveSomethint
I will check later. On Fri, Aug 5, 2022 at 12:04 PM Jan Šmucr <jan.sm...@aimtecglobal.com> wrote: > That’s an option, but given that it’s an AWS Lambda function, I’d prefer > to stream it, so that there’s no need to use either the memory or the > underlying ephemeral storage. > > However that’s not the point. I just wanted to know if the setOutputStream > function is supposed to block, or if I’m doing something wrong. I’d write a > test but first I need to know if I use the method right. 😊 > > Thank you. > > From: Clebert Suconic<mailto:clebert.suco...@gmail.com> > Sent: pátek 5. srpna 2022 17:57 > To: dev@activemq.apache.org<mailto:dev@activemq.apache.org> > Cc: Zuzana Káčereková<mailto:zuzana.kacerek...@aimtecglobal.com> > Subject: Re: A question about ClientMessage.setOutputStream() > > I would save the Message locally before you forward it anywhere else. > > On Fri, Aug 5, 2022 at 7:35 AM Jan Šmucr <jan.sm...@aimtecglobal.com> > wrote: > > > > 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 > > > > > > > > -- > Clebert Suconic > > -- Clebert Suconic