[ 
https://issues.apache.org/jira/browse/JCRVLT-259?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16318455#comment-16318455
 ] 

Dirk Rudolph commented on JCRVLT-259:
-------------------------------------

Changing the code so that in general compression and decompression is pluggable 
introduces quite a lot of changes, also in the APIs.

As a first step for consumers that only use the 
PackageManager/JcrPackageManager Java APIs, it would be enough to let them 
specify the Exporter to be used. The Archive they can create how they want 
already.

assemble
https://github.com/apache/sling-org-apache-sling-distribution-core/blob/master/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultContentSerializer.java#L112

import 
https://github.com/apache/sling-org-apache-sling-distribution-core/blob/master/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultContentSerializer.java#L129

> Support pluggable compression formats
> -------------------------------------
>
>                 Key: JCRVLT-259
>                 URL: https://issues.apache.org/jira/browse/JCRVLT-259
>             Project: Jackrabbit FileVault
>          Issue Type: New Feature
>          Components: Packaging
>            Reporter: Dirk Rudolph
>
> The new feature to suppress compression for already compressed binaries 
> introduced in JCRVLT-163, has been implemented with Apache Sling Content 
> Distribution in mind to get best performance while still keep bytes on the 
> wire as small as affordable [0]. 
> Wouldn't it make sense for such cases to support different compression 
> formats as well, especially thinking about snappy or lz4?
> Currently there is a pair for compressing and decompressing implementations, 
> JarExporter and ZipArchive/ZipStreamArchive. Those are used by the 
> PackageManagerImpl for example to open or assemble a new package. Adding 
> support for further compression formats could be done for example by 
> implementing a registry holding the constructors for compression and 
> decompression implementations, where the one of choice could be requested by 
> the ExportOptions (defaulting to jar/zip as it is now).
> [0] 
> https://github.com/apache/sling-org-apache-sling-distribution-core/blob/master/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java#L190



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to