Class NativeLeaseResourceManager
- java.lang.Object
-
- org.apache.camel.component.kubernetes.cluster.lock.impl.NativeLeaseResourceManager
-
- All Implemented Interfaces:
KubernetesLeaseResourceManager<io.fabric8.kubernetes.api.model.coordination.v1.Lease>
public class NativeLeaseResourceManager extends Object implements KubernetesLeaseResourceManager<io.fabric8.kubernetes.api.model.coordination.v1.Lease>
-
-
Constructor Summary
Constructors Constructor Description NativeLeaseResourceManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description io.fabric8.kubernetes.api.model.coordination.v1.Lease
createNewLeaseResource(io.fabric8.kubernetes.client.KubernetesClient client, String namespace, String prefix, LeaderInfo leaderInfo)
Create a new lease resource matching the givenLeaderInfo
.LeaderInfo
decodeLeaderInfo(io.fabric8.kubernetes.api.model.coordination.v1.Lease lease, Set<String> members, String group)
Return aLeaderInfo
object from the underlying Kubernetes resource.io.fabric8.kubernetes.api.model.coordination.v1.Lease
fetchLeaseResource(io.fabric8.kubernetes.client.KubernetesClient client, String namespace, String name, String group)
Fetch the lease resource for the given name and group.io.fabric8.kubernetes.api.model.coordination.v1.Lease
optimisticAcquireLeadership(io.fabric8.kubernetes.client.KubernetesClient client, io.fabric8.kubernetes.api.model.coordination.v1.Lease leaseResource, LeaderInfo newLeaderInfo)
Set the leadership information on the lease resource to match the givenLeaderInfo
.io.fabric8.kubernetes.api.model.coordination.v1.Lease
optimisticDeleteLeaderInfo(io.fabric8.kubernetes.client.KubernetesClient client, io.fabric8.kubernetes.api.model.coordination.v1.Lease leaseResource, String group)
Delete leadership information for the given lease resource and group.io.fabric8.kubernetes.api.model.coordination.v1.Lease
refreshLeaseRenewTime(io.fabric8.kubernetes.client.KubernetesClient client, io.fabric8.kubernetes.api.model.coordination.v1.Lease leaseResource, int minUpdateIntervalSeconds)
Update information on the lease resource to increase the renew time (if last renewal has occurred more than minUpdateIntervalSeconds seconds ago).
-
-
-
Method Detail
-
decodeLeaderInfo
public LeaderInfo decodeLeaderInfo(io.fabric8.kubernetes.api.model.coordination.v1.Lease lease, Set<String> members, String group)
Description copied from interface:KubernetesLeaseResourceManager
Return aLeaderInfo
object from the underlying Kubernetes resource.- Specified by:
decodeLeaderInfo
in interfaceKubernetesLeaseResourceManager<io.fabric8.kubernetes.api.model.coordination.v1.Lease>
-
fetchLeaseResource
public io.fabric8.kubernetes.api.model.coordination.v1.Lease fetchLeaseResource(io.fabric8.kubernetes.client.KubernetesClient client, String namespace, String name, String group)
Description copied from interface:KubernetesLeaseResourceManager
Fetch the lease resource for the given name and group.- Specified by:
fetchLeaseResource
in interfaceKubernetesLeaseResourceManager<io.fabric8.kubernetes.api.model.coordination.v1.Lease>
-
optimisticDeleteLeaderInfo
public io.fabric8.kubernetes.api.model.coordination.v1.Lease optimisticDeleteLeaderInfo(io.fabric8.kubernetes.client.KubernetesClient client, io.fabric8.kubernetes.api.model.coordination.v1.Lease leaseResource, String group)
Description copied from interface:KubernetesLeaseResourceManager
Delete leadership information for the given lease resource and group.- Specified by:
optimisticDeleteLeaderInfo
in interfaceKubernetesLeaseResourceManager<io.fabric8.kubernetes.api.model.coordination.v1.Lease>
-
optimisticAcquireLeadership
public io.fabric8.kubernetes.api.model.coordination.v1.Lease optimisticAcquireLeadership(io.fabric8.kubernetes.client.KubernetesClient client, io.fabric8.kubernetes.api.model.coordination.v1.Lease leaseResource, LeaderInfo newLeaderInfo)
Description copied from interface:KubernetesLeaseResourceManager
Set the leadership information on the lease resource to match the givenLeaderInfo
.- Specified by:
optimisticAcquireLeadership
in interfaceKubernetesLeaseResourceManager<io.fabric8.kubernetes.api.model.coordination.v1.Lease>
-
refreshLeaseRenewTime
public io.fabric8.kubernetes.api.model.coordination.v1.Lease refreshLeaseRenewTime(io.fabric8.kubernetes.client.KubernetesClient client, io.fabric8.kubernetes.api.model.coordination.v1.Lease leaseResource, int minUpdateIntervalSeconds)
Description copied from interface:KubernetesLeaseResourceManager
Update information on the lease resource to increase the renew time (if last renewal has occurred more than minUpdateIntervalSeconds seconds ago).- Specified by:
refreshLeaseRenewTime
in interfaceKubernetesLeaseResourceManager<io.fabric8.kubernetes.api.model.coordination.v1.Lease>
-
createNewLeaseResource
public io.fabric8.kubernetes.api.model.coordination.v1.Lease createNewLeaseResource(io.fabric8.kubernetes.client.KubernetesClient client, String namespace, String prefix, LeaderInfo leaderInfo)
Description copied from interface:KubernetesLeaseResourceManager
Create a new lease resource matching the givenLeaderInfo
.- Specified by:
createNewLeaseResource
in interfaceKubernetesLeaseResourceManager<io.fabric8.kubernetes.api.model.coordination.v1.Lease>
-
-