8.4. Configure Replication Mode (Library Mode)
Procedure 8.2. Replication Mode Configuration
Set the Clustered Mode
Theclusteringelement'smodeparameter's value determines the clustering mode selected for the cache.<clustering mode="replication">
<clustering mode="replication">Copy to Clipboard Copied! Toggle word wrap Toggle overflow Specify the Remote Call Timeout
Thesyncelement'sreplTimeoutparameter specifies the maximum time period in milliseconds for an acknowledgment after a remote call. If the time period ends without any acknowledgment, an exception is thrown.<clustering mode="replication"> <sync replTimeout="${TIME}" /><clustering mode="replication"> <sync replTimeout="${TIME}" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow Define State Transfer Settings
ThestateTransferelement specifies how state is transferred when a node leaves or joins the cluster. It uses the following parameters:Specify State Transfer Batch Size
ThechunkSizeparameter is the number of cache entries to be transferred in one chunk. The defaultchunkSizevalue is 512. ThechunkSizedepends on many parameters (for example, size of entries) and the best setting needs to be measured. To change the value for larger cache entries, smaller chunks are advisable and for smaller cache entries, increasing thechunkSizeoffers better performance.<clustering mode="replication"> <sync replTimeout="${TIME}" /> <stateTransfer chunkSize="${SIZE}" /><clustering mode="replication"> <sync replTimeout="${TIME}" /> <stateTransfer chunkSize="${SIZE}" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow Set
fetchInMemoryStateParameterThefetchInMemoryStateparameter when set totrue, requests state information from neighboring caches on start up. This impacts the start up time for the cache.<clustering mode="replication"> <sync replTimeout="${TIME}" /> <stateTransfer chunkSize="${SIZE}" fetchInMemoryState="{true/false}" /><clustering mode="replication"> <sync replTimeout="${TIME}" /> <stateTransfer chunkSize="${SIZE}" fetchInMemoryState="{true/false}" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow Define the
awaitInitialTransferParameterTheawaitInitialTransferparameter causes the first call to methodCacheManager.getCache()on the joiner node to block and wait until the joining is complete and the cache has finished receiving state from neighboring caches (iffetchInMemoryStateis enabled). This option applies to distributed and replicated caches only and is enabled by default.<clustering mode="replication"> <sync replTimeout="${TIME}" /> <stateTransfer chunkSize="${SIZE}" fetchInMemoryState="{true/false}" awaitInitialTransfer="{true/false}" /><clustering mode="replication"> <sync replTimeout="${TIME}" /> <stateTransfer chunkSize="${SIZE}" fetchInMemoryState="{true/false}" awaitInitialTransfer="{true/false}" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow Set the
timeoutValueThetimeoutparameter specifies the maximum time (in milliseconds) the cache waits for responses from neighboring caches with the requested states. If no response is received within the thetimeoutperiod, the start up process aborts and an exception is thrown.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Specify Transport Configuration
Thetransportelement defines the transport configuration for the cache container as follows:Specify the Cluster Name
TheclusterNameparameter specifies the name of the cluster. Nodes can only connect to clusters that share the same name.<global> <transport clusterName="${NAME}" /> </global><global> <transport clusterName="${NAME}" /> </global>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Set the
distributedSyncTimeoutValueThedistributedSyncTimeoutparameter specifies the time to wait to acquire a lock on the distributed lock. This distributed lock ensures that a single cache can transfer state or rehash state at a time.<global> <transport clusterName="${NAME}" distributedSyncTimeout="${TIME}" /> </global><global> <transport clusterName="${NAME}" distributedSyncTimeout="${TIME}" /> </global>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Set the Network Transport
ThetransportClassparameter specifies a class that represents a network transport for the cache container.<global> <transport clusterName="${NAME}" distributedSyncTimeout="${TIME}" transportClass="${CLASS}" /> </global><global> <transport clusterName="${NAME}" distributedSyncTimeout="${TIME}" transportClass="${CLASS}" /> </global>Copy to Clipboard Copied! Toggle word wrap Toggle overflow