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
     
  • Method Summary

    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 given LeaderInfo.
    decodeLeaderInfo(io.fabric8.kubernetes.api.model.coordination.v1.Lease lease, Set<String> members, String group)
    Return a LeaderInfo 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 given LeaderInfo.
    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).

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • NativeLeaseResourceManager

      public NativeLeaseResourceManager()
  • Method Details

    • decodeLeaderInfo

      public LeaderInfo decodeLeaderInfo(io.fabric8.kubernetes.api.model.coordination.v1.Lease lease, Set<String> members, String group)
      Description copied from interface: KubernetesLeaseResourceManager
      Return a LeaderInfo object from the underlying Kubernetes resource.
      Specified by:
      decodeLeaderInfo in interface KubernetesLeaseResourceManager<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 interface KubernetesLeaseResourceManager<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 interface KubernetesLeaseResourceManager<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 given LeaderInfo.
      Specified by:
      optimisticAcquireLeadership in interface KubernetesLeaseResourceManager<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 interface KubernetesLeaseResourceManager<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 given LeaderInfo.
      Specified by:
      createNewLeaseResource in interface KubernetesLeaseResourceManager<io.fabric8.kubernetes.api.model.coordination.v1.Lease>