Class ConcurrentJarCreator


  • public class ConcurrentJarCreator
    extends Object
    • Constructor Summary

      Constructors 
      Constructor Description
      ConcurrentJarCreator​(boolean compressAddedZips, int nThreads)
      Creates a new ConcurrentJarCreator instance.
      ConcurrentJarCreator​(int nThreads)
      Creates a new ConcurrentJarCreator instance.
    • Constructor Detail

      • ConcurrentJarCreator

        public ConcurrentJarCreator​(int nThreads)
                             throws IOException
        Creates a new ConcurrentJarCreator instance.

        ConcurrentJarCreator creates zip files using several concurrent threads.

        This constructor has the same effect as ConcurrentJarCreator(true, nThreads)

        Parameters:
        nThreads - The number of concurrent thread used to create the archive
        Throws:
        IOException
      • ConcurrentJarCreator

        public ConcurrentJarCreator​(boolean compressAddedZips,
                                    int nThreads)
                             throws IOException
        Creates a new ConcurrentJarCreator instance.

        ConcurrentJarCreator creates zip files using several concurrent threads. Entries that are already zip file could be just stored or compressed again.

        Parameters:
        compressAddedZips - Indicates if entries that are zip files should be compressed. If set to false entries that are zip files will be added using ZipEntry.STORED method. If set to true entries that are zip files will be added using the compression method indicated by the ZipArchiveEntry passed to addArchiveEntry(ZipArchiveEntry, InputStreamSupplier, boolean). The compression method for all entries that are not zip files will not be changed regardless of the value of this parameter
        nThreads - The number of concurrent thread used to create the archive
        Throws:
        IOException
    • Method Detail

      • createDeferred

        public static org.apache.commons.compress.archivers.zip.ScatterZipOutputStream createDeferred​(org.apache.commons.compress.parallel.ScatterGatherBackingStoreSupplier scatterGatherBackingStoreSupplier)
                                                                                               throws IOException
        Throws:
        IOException
      • addArchiveEntry

        public void addArchiveEntry​(org.apache.commons.compress.archivers.zip.ZipArchiveEntry zipArchiveEntry,
                                    org.apache.commons.compress.parallel.InputStreamSupplier source,
                                    boolean addInParallel)
                             throws IOException
        Adds an archive entry to this archive.

        This method is expected to be called from a single client thread

        Parameters:
        zipArchiveEntry - The entry to add. Compression method
        source - The source input stream supplier
        addInParallel - Indicates if the entry should be add in parallel. If set to false the entry is added synchronously.
        Throws:
        IOException
      • getStatisticsMessage

        public String getStatisticsMessage()
        Returns a message describing the overall statistics of the compression run
        Returns:
        A string