Class EventJournalConfig

java.lang.Object
com.hazelcast.config.EventJournalConfig
All Implemented Interfaces:
DataSerializable, IdentifiedDataSerializable

public class EventJournalConfig extends Object implements IdentifiedDataSerializable
Configuration for an event journal. The event journal keeps events related to a specific partition and data structure. For instance, it could keep map add, update, remove, merge events along with the key, old value, new value and so on. This configuration is not tied to a specific data structure and can be reused. NOTE This config is intended to be used with Hazelcast Jet and does not expose any features in Hazelcast IMDG.
  • Field Details

    • DEFAULT_CAPACITY

      public static final int DEFAULT_CAPACITY
      Default value of capacity of the event journal.
      See Also:
    • DEFAULT_TTL_SECONDS

      public static final int DEFAULT_TTL_SECONDS
      Default value for the time to live property.
      See Also:
  • Constructor Details

  • Method Details

    • getCapacity

      public int getCapacity()
      Gets the capacity of the event journal. The capacity is the total number of items that the event journal can hold at any moment. The actual number of items contained in the journal can be lower.

      NOTE The capacity is shared equally between all partitions. This is done by assigning each partition getCapacity() / partitionCount available slots in the event journal. Because of this, the effective total capacity may be somewhat lower and you must make sure that the configured capacity is at least greater than the partition count.

      Returns:
      the capacity.
    • setCapacity

      public EventJournalConfig setCapacity(int capacity)
      Sets the capacity of the event journal. The capacity is the total number of items that the event journal can hold at any moment. The actual number of items contained in the journal can be lower.

      NOTE The capacity is shared equally between all partitions. This is done by assigning each partition getCapacity() / partitionCount available slots in the event journal. Because of this, the effective total capacity may be somewhat lower and you must make sure that the configured capacity is at least greater than the partition count.

      Parameters:
      capacity - the capacity.
      Returns:
      the updated config.
      Throws:
      IllegalArgumentException - if capacity smaller than 1.
      See Also:
    • getTimeToLiveSeconds

      public int getTimeToLiveSeconds()
      Gets the time to live in seconds.
      Returns:
      the time to live in seconds. Returns 0 the time to live if the items don't expire.
    • setTimeToLiveSeconds

      public EventJournalConfig setTimeToLiveSeconds(int timeToLiveSeconds)
      Sets the time to live in seconds. Time to live is the time the event journal retains items before removing them from the journal. The events are removed on journal read and write actions, not while the journal is idle.

      Time to live can be disabled by setting timeToLiveSeconds to 0. This means that the events never expire but they can be overwritten when the capacity of the journal is exceeded.

      Parameters:
      timeToLiveSeconds - the time to live period in seconds
      Returns:
      the updated config
      Throws:
      IllegalArgumentException - if timeToLiveSeconds smaller than 0.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • isEnabled

      public boolean isEnabled()
      Returns if the event journal is enabled.
      Returns:
      true if the event journal is enabled, false otherwise
    • setEnabled

      public EventJournalConfig setEnabled(boolean enabled)
      Enables or disables the event journal.
      Parameters:
      enabled - true if enabled, false otherwise.
      Returns:
      the updated config.
    • getFactoryId

      public int getFactoryId()
      Description copied from interface: IdentifiedDataSerializable
      Returns DataSerializableFactory factory ID for this class.
      Specified by:
      getFactoryId in interface IdentifiedDataSerializable
      Returns:
      factory ID
    • getClassId

      public int getClassId()
      Description copied from interface: IdentifiedDataSerializable
      Returns type identifier for this class. It should be unique per DataSerializableFactory.
      Specified by:
      getClassId in interface IdentifiedDataSerializable
      Returns:
      type ID
    • writeData

      public void writeData(ObjectDataOutput out) throws IOException
      Description copied from interface: DataSerializable
      Writes object fields to output stream
      Specified by:
      writeData in interface DataSerializable
      Parameters:
      out - output
      Throws:
      IOException - if an I/O error occurs. In particular, an IOException may be thrown if the output stream has been closed.
    • readData

      public void readData(ObjectDataInput in) throws IOException
      Description copied from interface: DataSerializable
      Reads fields from the input stream
      Specified by:
      readData in interface DataSerializable
      Parameters:
      in - input
      Throws:
      IOException - if an I/O error occurs. In particular, an IOException may be thrown if the input stream has been closed.
    • equals

      public final boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object