Class WanReplicationConfig
- java.lang.Object
-
- com.hazelcast.config.WanReplicationConfig
-
- All Implemented Interfaces:
NamedConfig
,DataSerializable
,IdentifiedDataSerializable
public class WanReplicationConfig extends java.lang.Object implements IdentifiedDataSerializable, NamedConfig
Configuration for WAN replication. This configuration is referenced from a IMap or ICache configuration to determine the receivers for the WAN events. Each receiver is defined with a either aWanBatchPublisherConfig
or aWanCustomPublisherConfig
.A single WAN replication configuration may consist of several WAN publisher configurations. The built-in WAN publisher implementation should be configured using
WanBatchPublisherConfig
and custom WAN publisher implementations can be configured usingWanCustomPublisherConfig
.You may consider each WAN publisher configuration as a single target cluster or a single external system. The WAN subsystem will track replication for each publisher separately. Having multiple publishers in a single WAN replication config simplifies simultaneous publication of map and cache events to multiple target systems.
In addition to defining publishers, you may optionally configure a WAN consumer. The WAN consumer is in charge of consuming (processing) incoming WAN events. Usually when defining a custom consumer you need to define a custom WAN publisher as well.
-
-
Constructor Summary
Constructors Constructor Description WanReplicationConfig()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description WanReplicationConfig
addBatchReplicationPublisherConfig(WanBatchPublisherConfig config)
Adds a WAN publisher configuration using the built-in batching WAN implementation to this WAN replication.WanReplicationConfig
addCustomPublisherConfig(WanCustomPublisherConfig config)
Adds a custom WAN publisher implementation configuration to this WAN replication.boolean
equals(java.lang.Object o)
java.util.List<WanBatchPublisherConfig>
getBatchPublisherConfigs()
Returns the list of WAN publisher configurations using the built-in batching WAN implementation for this WAN replication.int
getClassId()
Returns type identifier for this class.WanConsumerConfig
getConsumerConfig()
Returns theWAN consumer configuration
for this WAN replication.java.util.List<WanCustomPublisherConfig>
getCustomPublisherConfigs()
Returns the list of custom WAN publisher implementations for this WAN replication.int
getFactoryId()
Returns DataSerializableFactory factory ID for this class.java.lang.String
getName()
int
hashCode()
void
readData(ObjectDataInput in)
Reads fields from the input streamWanReplicationConfig
setBatchPublisherConfigs(java.util.List<WanBatchPublisherConfig> batchPublisherConfigs)
Sets the list of WAN publisher configurations using the built-in batching WAN implementation for this WAN replication.WanReplicationConfig
setConsumerConfig(WanConsumerConfig consumerConfig)
Sets theWAN consumer configuration
for this WAN replication.WanReplicationConfig
setCustomPublisherConfigs(java.util.List<WanCustomPublisherConfig> customPublisherConfigs)
Sets the list of custom WAN publisher implementations for this WAN replication.WanReplicationConfig
setName(java.lang.String name)
Sets the name of this WAN replication config.java.lang.String
toString()
void
writeData(ObjectDataOutput out)
Writes object fields to output stream
-
-
-
Method Detail
-
getName
public java.lang.String getName()
- Specified by:
getName
in interfaceNamedConfig
-
setName
public WanReplicationConfig setName(@Nonnull java.lang.String name)
Sets the name of this WAN replication config. This name is used by theWanReplicationRef
configuration.- Specified by:
setName
in interfaceNamedConfig
- Parameters:
name
- the WAN replication config name- Returns:
- this config
- See Also:
WanReplicationRef.getName()
-
getConsumerConfig
public WanConsumerConfig getConsumerConfig()
Returns theWAN consumer configuration
for this WAN replication. The WAN consumer is in charge of consuming (processing) incoming WAN events.
-
setConsumerConfig
public WanReplicationConfig setConsumerConfig(WanConsumerConfig consumerConfig)
Sets theWAN consumer configuration
for this WAN replication. The WAN consumer is in charge of consuming (processing) incoming WAN events.- Parameters:
consumerConfig
- the WAN consumer configuration- Returns:
- this config
-
getCustomPublisherConfigs
@Nonnull public java.util.List<WanCustomPublisherConfig> getCustomPublisherConfigs()
Returns the list of custom WAN publisher implementations for this WAN replication.
-
setCustomPublisherConfigs
public WanReplicationConfig setCustomPublisherConfigs(@Nonnull java.util.List<WanCustomPublisherConfig> customPublisherConfigs)
Sets the list of custom WAN publisher implementations for this WAN replication.- Parameters:
customPublisherConfigs
- publisher configurations- Returns:
- this config
-
getBatchPublisherConfigs
@Nonnull public java.util.List<WanBatchPublisherConfig> getBatchPublisherConfigs()
Returns the list of WAN publisher configurations using the built-in batching WAN implementation for this WAN replication.
-
setBatchPublisherConfigs
public WanReplicationConfig setBatchPublisherConfigs(@Nonnull java.util.List<WanBatchPublisherConfig> batchPublisherConfigs)
Sets the list of WAN publisher configurations using the built-in batching WAN implementation for this WAN replication.- Parameters:
batchPublisherConfigs
- configurations for the built-in WAN publisher implementation- Returns:
- this config
-
addBatchReplicationPublisherConfig
public WanReplicationConfig addBatchReplicationPublisherConfig(WanBatchPublisherConfig config)
Adds a WAN publisher configuration using the built-in batching WAN implementation to this WAN replication.- Parameters:
config
- the WAN publisher configuration- Returns:
- this config
-
addCustomPublisherConfig
public WanReplicationConfig addCustomPublisherConfig(WanCustomPublisherConfig config)
Adds a custom WAN publisher implementation configuration to this WAN replication.- Parameters:
config
- the WAN publisher configuration- Returns:
- this config
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
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 boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-