Class ConcurrentJarCreator


  • public class ConcurrentJarCreator
    extends java.lang.Object
    • Constructor Summary

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

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addArchiveEntry​(org.apache.commons.compress.archivers.zip.ZipArchiveEntry zipArchiveEntry, org.apache.commons.compress.parallel.InputStreamSupplier source, boolean addInParallel)
      Adds an archive entry to this archive.
      static org.apache.commons.compress.archivers.zip.ScatterZipOutputStream createDeferred​(org.apache.commons.compress.parallel.ScatterGatherBackingStoreSupplier scatterGatherBackingStoreSupplier)  
      java.lang.String getStatisticsMessage()
      Returns a message describing the overall statistics of the compression run
      void writeTo​(org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream targetStream)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ConcurrentJarCreator

        public ConcurrentJarCreator​(int nThreads)
                             throws java.io.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:
        java.io.IOException
      • ConcurrentJarCreator

        public ConcurrentJarCreator​(boolean compressAddedZips,
                                    int nThreads)
                             throws java.io.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:
        java.io.IOException
    • Method Detail

      • createDeferred

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

        public void addArchiveEntry​(org.apache.commons.compress.archivers.zip.ZipArchiveEntry zipArchiveEntry,
                                    org.apache.commons.compress.parallel.InputStreamSupplier source,
                                    boolean addInParallel)
                             throws java.io.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:
        java.io.IOException
      • writeTo

        public void writeTo​(org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream targetStream)
                     throws java.io.IOException,
                            java.util.concurrent.ExecutionException,
                            java.lang.InterruptedException
        Throws:
        java.io.IOException
        java.util.concurrent.ExecutionException
        java.lang.InterruptedException
      • getStatisticsMessage

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