It does indeed work perfectly, thanks very much Matt. Digging into the
errors I was seeing, it turned out that the jar and nar archive files were
being mangled by me in a prior flow step while trying to parse file
signatures out of the file headers. I mangled the headers and so corrupted
my jars. When I fixed that problem and tried what you said, it worked very
well. Thank you.
Cheers,
Jim

On Sun, Dec 31, 2023 at 6:49 PM Matt Burgess <[email protected]> wrote:

> Jim,
>
> When you say you want to "avoid having to output them to a temp
> directory", does that include the content repo? If not you can use
> UnpackContent with a Packaging Type of zip. I tried on both JARs and
> NARs and it works.
>
> Regards,
> Matt
>
> On Sun, Dec 31, 2023 at 12:37 PM James McMahon <[email protected]>
> wrote:
> >
> > I have a NiFi flow that handles many jar and nar archive files as
> incoming flowfiles. I am trying to figure out a way I can extract files
> from these archives - for example, in most cases one incoming jar has a
> number of files in its archive. So one flowfile should yield N output
> flowfiles if there are N files in the archive.
> >
> > I do not have /usr/bin/jar on my system. I have read, though, that unzip
> can be employed to extract from jars, and I have that. So I am trying to
> use that.
> >
> > How can I configure an ExecuteStreamCommand processor to take an
> incoming flowfile as stdin, and output each member of the archive as one of
> N output flowfiles to stdout? Ideally I want to avoid having to output my
> streaming flowfile to a temporary  physical directory; I want to perform
> the extraction entirely in stream.
> >
> > I have used ExecuteStreamCommand before but can't recall how to get it
> to work for this use case.
> >
> > Thanks for any help.
>

Reply via email to