Enable autorecovery in RAFT Copycat client

Otherwise it doesn't reconnect after network issues
This commit is contained in:
Roman Plášil
2017-08-18 15:07:52 +08:00
committed by Andrius Dagys
parent c61b036844
commit a35d835d38

View File

@ -10,6 +10,7 @@ import io.atomix.catalyst.transport.netty.NettyTransport
import io.atomix.catalyst.transport.netty.SslProtocol import io.atomix.catalyst.transport.netty.SslProtocol
import io.atomix.copycat.client.ConnectionStrategies import io.atomix.copycat.client.ConnectionStrategies
import io.atomix.copycat.client.CopycatClient import io.atomix.copycat.client.CopycatClient
import io.atomix.copycat.client.RecoveryStrategies
import io.atomix.copycat.server.CopycatServer import io.atomix.copycat.server.CopycatServer
import io.atomix.copycat.server.storage.Storage import io.atomix.copycat.server.storage.Storage
import io.atomix.copycat.server.storage.StorageLevel import io.atomix.copycat.server.storage.StorageLevel
@ -151,6 +152,7 @@ class RaftUniquenessProvider(services: ServiceHubInternal) : UniquenessProvider,
.withTransport(transport) // TODO: use local transport for client-server communications .withTransport(transport) // TODO: use local transport for client-server communications
.withConnectionStrategy(ConnectionStrategies.EXPONENTIAL_BACKOFF) .withConnectionStrategy(ConnectionStrategies.EXPONENTIAL_BACKOFF)
.withSerializer(serializer) .withSerializer(serializer)
.withRecoveryStrategy(RecoveryStrategies.RECOVER)
.build() .build()
_clientFuture = serverFuture.thenCompose { client.connect(address) } _clientFuture = serverFuture.thenCompose { client.connect(address) }
} }