Class EventJournalConfig
- java.lang.Object
-
- com.hazelcast.config.EventJournalConfig
-
- All Implemented Interfaces:
DataSerializable
,IdentifiedDataSerializable
public class EventJournalConfig extends java.lang.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 Summary
Fields Modifier and Type Field Description static int
DEFAULT_CAPACITY
Default value of capacity of the event journal.static int
DEFAULT_TTL_SECONDS
Default value for the time to live property.
-
Constructor Summary
Constructors Constructor Description EventJournalConfig()
EventJournalConfig(EventJournalConfig config)
Clones aEventJournalConfig
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object o)
int
getCapacity()
Gets the capacity of the event journal.int
getClassId()
Returns type identifier for this class.int
getFactoryId()
Returns DataSerializableFactory factory ID for this class.int
getTimeToLiveSeconds()
Gets the time to live in seconds.int
hashCode()
boolean
isEnabled()
Returns if the event journal is enabled.void
readData(ObjectDataInput in)
Reads fields from the input streamEventJournalConfig
setCapacity(int capacity)
Sets the capacity of the event journal.EventJournalConfig
setEnabled(boolean enabled)
Enables or disables the event journal.EventJournalConfig
setTimeToLiveSeconds(int timeToLiveSeconds)
Sets the time to live in seconds.java.lang.String
toString()
void
writeData(ObjectDataOutput out)
Writes object fields to output stream
-
-
-
Field Detail
-
DEFAULT_CAPACITY
public static final int DEFAULT_CAPACITY
Default value of capacity of the event journal.- See Also:
- Constant Field Values
-
DEFAULT_TTL_SECONDS
public static final int DEFAULT_TTL_SECONDS
Default value for the time to live property.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
EventJournalConfig
public EventJournalConfig()
-
EventJournalConfig
public EventJournalConfig(EventJournalConfig config)
Clones aEventJournalConfig
.- Parameters:
config
- the event journal config to clone- Throws:
java.lang.NullPointerException
- if the config is null
-
-
Method Detail
-
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:
java.lang.IllegalArgumentException
- if capacity smaller than 1.- See Also:
getCapacity()
-
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:
java.lang.IllegalArgumentException
- if timeToLiveSeconds smaller than 0.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.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 interfaceIdentifiedDataSerializable
- 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 interfaceIdentifiedDataSerializable
- Returns:
- type ID
-
writeData
public void writeData(ObjectDataOutput out) throws java.io.IOException
Description copied from interface:DataSerializable
Writes object fields to output stream- Specified by:
writeData
in interfaceDataSerializable
- Parameters:
out
- output- Throws:
java.io.IOException
- if an I/O error occurs. In particular, anIOException
may be thrown if the output stream has been closed.
-
readData
public void readData(ObjectDataInput in) throws java.io.IOException
Description copied from interface:DataSerializable
Reads fields from the input stream- Specified by:
readData
in interfaceDataSerializable
- Parameters:
in
- input- Throws:
java.io.IOException
- if an I/O error occurs. In particular, anIOException
may be thrown if the input stream has been closed.
-
equals
public final boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public final int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-