Class ThresholdStorageProvider

java.lang.Object
org.apache.james.mime4j.storage.AbstractStorageProvider
org.apache.james.mime4j.storage.ThresholdStorageProvider
All Implemented Interfaces:
StorageProvider

public class ThresholdStorageProvider extends AbstractStorageProvider
A StorageProvider that keeps small amounts of data in memory and writes the remainder to another StorageProvider (the back-end) if a certain threshold size gets exceeded.

Example usage:

 StorageProvider tempStore = new TempFileStorageProvider();
 StorageProvider provider = new ThresholdStorageProvider(tempStore, 4096);
 DefaultStorageProvider.setInstance(provider);
 
  • Field Details

    • backend

      private final StorageProvider backend
    • thresholdSize

      private final int thresholdSize
  • Constructor Details

    • ThresholdStorageProvider

      public ThresholdStorageProvider(StorageProvider backend)
      Creates a new ThresholdStorageProvider for the given back-end using a threshold size of 2048 bytes.
    • ThresholdStorageProvider

      public ThresholdStorageProvider(StorageProvider backend, int thresholdSize)
      Creates a new ThresholdStorageProvider for the given back-end and threshold size.
      Parameters:
      backend - used to store the remainder of the data if the threshold size gets exceeded.
      thresholdSize - determines how much bytes are kept in memory before that back-end storage provider is used to store the remainder of the data.
  • Method Details