Class TarAggregationStrategy
- java.lang.Object
-
- org.apache.camel.processor.aggregate.tarfile.TarAggregationStrategy
-
- All Implemented Interfaces:
org.apache.camel.AggregationStrategy
public class TarAggregationStrategy extends Object implements org.apache.camel.AggregationStrategy
This aggregation strategy will aggregate all incoming messages into a TAR file.If the incoming exchanges contain
GenericFileMessage
file name will be taken from the body otherwise the body content will be treated as a byte array and the TAR entry will be named using the message id (unless the flag useFilenameHeader is set to true.NOTE 1: Please note that this aggregation strategy requires eager completion check to work properly.
NOTE 2: This implementation is very inefficient especially on big files since the tar file is completely rewritten for each file that is added to it. Investigate if the files can be collected and at completion stored to tar file.
-
-
Constructor Summary
Constructors Constructor Description TarAggregationStrategy()
TarAggregationStrategy(boolean preserveFolderStructure)
TarAggregationStrategy(boolean preserveFolderStructure, boolean useFilenameHeader)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.camel.Exchange
aggregate(org.apache.camel.Exchange oldExchange, org.apache.camel.Exchange newExchange)
String
getFilePrefix()
String
getFileSuffix()
File
getParentDir()
void
setFilePrefix(String filePrefix)
Sets the prefix that will be used when creating the TAR filename.void
setFileSuffix(String fileSuffix)
Sets the suffix that will be used when creating the ZIP filename.void
setParentDir(File parentDir)
Sets the parent directory to use for writing temporary files.void
setParentDir(String parentDir)
Sets the parent directory to use for writing temporary files.
-
-
-
Constructor Detail
-
TarAggregationStrategy
public TarAggregationStrategy()
-
TarAggregationStrategy
public TarAggregationStrategy(boolean preserveFolderStructure)
- Parameters:
preserveFolderStructure
- if true, the folder structure is preserved when the source is a type ofGenericFileMessage
. If used with a file, use recursive=true.
-
TarAggregationStrategy
public TarAggregationStrategy(boolean preserveFolderStructure, boolean useFilenameHeader)
- Parameters:
preserveFolderStructure
- if true, the folder structure is preserved when the source is a type ofGenericFileMessage
. If used with a file, use recursive=true.useFilenameHeader
- if true, the filename header will be used to name aggregated byte arrays within the TAR file.
-
-
Method Detail
-
getFilePrefix
public String getFilePrefix()
-
setFilePrefix
public void setFilePrefix(String filePrefix)
Sets the prefix that will be used when creating the TAR filename.
-
getFileSuffix
public String getFileSuffix()
-
setFileSuffix
public void setFileSuffix(String fileSuffix)
Sets the suffix that will be used when creating the ZIP filename.
-
getParentDir
public File getParentDir()
-
setParentDir
public void setParentDir(File parentDir)
Sets the parent directory to use for writing temporary files.
-
setParentDir
public void setParentDir(String parentDir)
Sets the parent directory to use for writing temporary files.
-
aggregate
public org.apache.camel.Exchange aggregate(org.apache.camel.Exchange oldExchange, org.apache.camel.Exchange newExchange)
- Specified by:
aggregate
in interfaceorg.apache.camel.AggregationStrategy
-
-